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;