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。而cJSON则是一个用C 语言写JSON 解析库,特点就是一个简洁。
简单了解cJSON的功能
创建JSON数据
void create_json(const char *filename)//参数为输出文件名
{
printf("----------------create json start-----------------------------\n");
//组JSON
cJSON *root_json = cJSON_CreateObject();
cJSON *data_json = cJSON_CreateObject();
cJSON_AddItemToObject(root_json, "data", data_json);//基本的条目添加方法
// 原子条目创建&添加
// cJSON_AddItemToObject(data_json, "Null", cJSON_CreateNull());
// cJSON_AddItemToObject(data_json, "True", cJSON_CreateTrue());
// cJSON_AddItemToObject(data_json, "False", cJSON_CreateFalse());
// cJSON_AddItemToObject(data_json, "bool", cJSON_CreateBool(-1));//不等于0,true
// cJSON_AddItemToObject(data_json, "double", cJSON_CreateNumber(1.1));
// cJSON_AddItemToObject(data_json, "string", cJSON_CreateString("strings"));
// 一些直接的添加条目的方法,其实是通过宏添加对cJSON_AddItemToObject的参数实现
cJSON_AddNullToObject(data_json, "Null");
cJSON_AddTrueToObject(data_json, "True");
cJSON_AddFalseToObject(data_json, "False");
cJSON_AddBoolToObject(data_json, "bool", 0); //等于0,false
cJSON_AddNumberToObject(data_json, "double", 2.2);
cJSON_AddStringToObject(data_json, "string", "strings");
// 数组条目创建&添加
cJSON *total_array = cJSON_CreateArray();
cJSON_AddItemToObject(root_json, "array", total_array);//基本的条目添加方法
int i[] = {
1, 2, 3};
float f[] = {
1.2, 2.2<