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

c 解析txt中json數(shù)據(jù)

劉柏宏1年前8瀏覽0評論

在C語言開發(fā)中,經(jīng)常需要處理文本數(shù)據(jù),如何解析txt中的JSON數(shù)據(jù)也是一個常見的問題。JSON是一種簡單的鍵值對結(jié)構(gòu),常用的C語言庫有Jansson和cJSON,它們可以幫助我們更方便地解析JSON數(shù)據(jù)。本文將介紹cJSON的使用方法。

#include <stdio.h>
#include <cJSON.h>
int main() {
// 讀入JSON格式的數(shù)據(jù)
char *json_str = "{\"name\":\"Tom\",\"age\":\"18\",\"hometown\":{\"province\":\"Shanghai\",\"city\":\"Shanghai\"}}";
// 將JSON格式的數(shù)據(jù)轉(zhuǎn)為cJSON格式
cJSON *root = cJSON_Parse(json_str);
// 獲取name字段的值
cJSON *name = cJSON_GetObjectItem(root, "name");
printf("name: %s\n", name->valuestring);
// 獲取age字段的值
cJSON *age = cJSON_GetObjectItem(root, "age");
printf("age: %d\n", age->valueint);
// 獲取hometown對象中province字段的值
cJSON *hometown = cJSON_GetObjectItem(root, "hometown");
cJSON *province = cJSON_GetObjectItem(hometown, "province");
printf("province: %s\n", province->valuestring);
// 釋放cJSON對象
cJSON_Delete(root);
return 0;
}

在代碼中,我們首先讀入JSON格式的數(shù)據(jù),然后使用cJSON_Parse將JSON格式的數(shù)據(jù)轉(zhuǎn)為cJSON格式,接著使用cJSON_GetObjectItem獲取對應(yīng)字段的值,最后使用cJSON_Delete釋放cJSON對象。

需要注意的是,如果獲取的字段不存在或者類型錯誤,cJSON_GetObjectItem會返回NULL。

使用cJSON解析JSON數(shù)據(jù),可以更方便地操作JSON格式的數(shù)據(jù)。除了上述介紹的方法,cJSON還有許多其他的用法,感興趣的讀者可以自行了解。