色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

cjson創(chuàng)建和解析json文件

老白2年前9瀏覽0評(píng)論

cjson是一個(gè)可以幫助我們創(chuàng)建和解析json文件的開源C語言庫。在使用cjson創(chuàng)建和解析json文件之前,我們需要安裝它。

安裝cjson的方法如下:
1.從官網(wǎng)上下載cjson源碼;
2.解壓源碼,進(jìn)入源碼目錄
3.執(zhí)行命令:make
4.執(zhí)行命令:sudo make install
5.配置環(huán)境變量(可選):export LD_LIBRARY_PATH=/usr/local/lib

接下來,我們將介紹如何使用cjson創(chuàng)建和解析json文件。

1.創(chuàng)建json文件

#include "cjson.h"
int main()
{
cJSON* root = cJSON_CreateObject();
cJSON_AddStringToObject(root,"name","Tom");
cJSON_AddNumberToObject(root,"age",23);
cJSON_AddTrueToObject(root,"is_student");
cJSON_AddItemToObject(root,"hobby", cJSON_CreateStringArray((const char*[]){"reading","sports","music"}, 3));
char *string = cJSON_Print(root);
printf("%s\n", string);
cJSON_Delete(root);
return 0
}

運(yùn)行上述代碼,我們可以得到如下json文件:

{
"name": "Tom",
"age": 23,
"is_student": true,
"hobby": [
"reading",
"sports",
"music"
]
}

2.解析json文件

#include "cjson.h"
int main()
{
const char *json = "{\"name\":\"Tom\",\"age\":23,\"is_student\":true,\"hobby\":[\"reading\",\"sports\",\"music\"]}";
cJSON* root = cJSON_Parse(json);
cJSON* item = cJSON_GetObjectItem(root,"name");
printf("%s\n", item->valuestring);
item = cJSON_GetObjectItem(root,"age");
printf("%d\n", item->valueint);
item = cJSON_GetObjectItem(root,"is_student");
if(item->type == cJSON_True) printf("is_student is true\n");
item = cJSON_GetObjectItem(root,"hobby");
int size = cJSON_GetArraySize(item);
int i;
for(i = 0; i< size; i++)
{
cJSON* subitem = cJSON_GetArrayItem(item,i);
printf("%s\n", subitem->valuestring);
}
cJSON_Delete(root);
return 0;
}

運(yùn)行上述代碼,我們可以得到如下輸出結(jié)果:

Tom
23
is_student is true
reading
sports
music

到此,我們介紹了如何使用cjson創(chuàng)建和解析json文件。