一,JSON简单介绍
JSON( JavaScript Object Notation,JavaScript对象标记法)是一种轻量级,基于文本,可读的数据交换格式。它是一种字符流的数据交换格式协议。
二,JSON语法规则
1,常用类型
常用的类型有五个,分别是:
- 对象:{}
- 数组:[]
- 键值对(名称+值):通常用key:value来表示
- 名称:“name”用双引号表示一个名称
- 值:有,字符串,数值,对象,数组,布尔值,null等类型,ps:字符串一般要加""来表示。值的类型只有七种:
字符串(string)、数值(number)、对象(object)、数组(array), true、false、null
。
并列的数据我们通常用,
分割开来。注意这个,
必须是英文的,而不能是中文的,最后一个值后面不必跟,结束。
2,字符串规则
前面我们提到过,当值为字符串时,我们需要用""将它括起来。同时,字符串还有一些语法要求,如下:
- 使用英文双引号""而不能是中文“”,也不能是单引号。
- 字符串中不能出现单独的’'双引号和单独的\转移符号。
- 若字符串内部有,""等特殊符号,请使用转义符+符号的方式书写,例如
\"\"
就表示一个有双引号的字符串。
3,值规则
值没有什么特殊规则,但是值除了直接表示以外,还可以使用科学计数法来表示。
- 科学计数法,例如36.34,可以用3634e-2来表示。100可以用1e2来表示
4,用例
//例如这里我们想要将以json格式得到一个字符串,那么C语言中他的printf应该这么写
//这个字符串里面有三个键值对,分别是设备名字,时间和温度,时间和设备名是字符串,温度是一个值
snprintf(buf, size, "{\"devide\":\"%s\",\"time\":\"%s\",\"temperature\":%0.2f}",
dev_name,
time_buf,
temp);