c语言中cJson的使用
JSON简介
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,可以把JSON的结构理解成无须的。可嵌套的key_value键值对集合,这些key_value键值对是以结构体或数组的形式来组织的。同一级的key-value是以一个','(逗号)隔开,每个key-value键值对是由一个key后面紧接一个“:”(冒号),冒号后面是这个key对应的value,Key是一个word,由大小写字母、下划线以及数字组成的,可以由双引号封闭,也可以不加双引号;而value的取值集为:Number、Boolean(true或false)、null、String、Object及Array
Number:数值,包括整型数字与浮点数,如123/0.08、
String:字符串,是以双引号封闭起来的一串字符,使用反斜杠来转义,如: \\、 \n
Object:对象,也可以理解成一个结构体,是以一对大括号封闭起来的无序的key-value键值对集合
Array:数组,JSON的数组是以一个以中括号封闭起来的value集合,数组内的各个数据成员可以不一样。
CJSON介绍:
cJSON是一个超轻巧,携带方便,单文件,简单的可以作为ANSI-C标准的JSON解析器。
typedef struct cJSON {
struct cJSON *next,*prev;//cJSON是一个链表结构,这里指向它的前一个和后一个节点
struct cJSON *child;//cJSON的子节点,value是object
int type;//cJSON的类型
char *valuestring;//value值,如果是string
int valueint;//如果value是int,int的值
double valuedouble;//如果value是double,double的值
char *string;//key值
} cJSON;