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

c json 類調(diào)用

錢良釵2年前8瀏覽0評論

cJson是一個小巧的C語言JSON解析器,其核心文件cJSON.c和cJSON.h只有兩個文件,可以方便地集成到嵌入式設(shè)備或者其他C語言程序中。下面我們來介紹一下如何使用cJson庫來解析JSON數(shù)據(jù)。

首先需要安裝cJson庫,將cJSON.c和cJSON.h兩個文件加入到工程中,并且include"cJSON.h"即可。

#include "cJSON.h"
#includeint main()
{
/* 首先定義一個json對象 */
cJSON *root = NULL;
/* 獲取根節(jié)點(diǎn)對象 */
root = cJSON_Parse("{\"name\":\"Jack\", \"age\":25}");
/* 如果解析成功 */
if (root != NULL)
{
/* 獲取name子節(jié)點(diǎn)的值 */
cJSON *name = cJSON_GetObjectItem(root, "name");
printf("name: %s\n", name->valuestring);
/* 獲取age子節(jié)點(diǎn)的值 */
cJSON *age = cJSON_GetObjectItem(root, "age");
printf("age: %d\n", age->valueint);
/* 釋放json對象 */
cJSON_Delete(root);
}
return 0;
}

以上代碼首先定義了一個json對象root,通過調(diào)用cJSON_Parse解析JSON數(shù)據(jù),解析成功后就可以通過cJSON_GetObjectItem函數(shù)來獲取子節(jié)點(diǎn)的值了,最后再調(diào)用cJSON_Delete釋放json對象即可。需要注意的是,獲取值的函數(shù)名字不同,比如獲取string類型的值是cJSON_GetObjectItemCaseSensitive,獲取int類型的值是cJSON_GetObjectItem。

在上面的代碼中,使用了一個json字符串當(dāng)做參數(shù)來解析JSON數(shù)據(jù),實(shí)際生產(chǎn)中數(shù)據(jù)的來源可能是網(wǎng)絡(luò)或者本地文件。此時我們可以使用網(wǎng)絡(luò)庫或者文件庫讀取數(shù)據(jù),然后調(diào)用cJSON_Parse解析,再通過cJSON_GetObjectItem獲取子節(jié)點(diǎn)的值。