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

c 訪問json 格式化

錢多多2年前8瀏覽0評論

C語言可以通過第三方庫進行訪問JSON格式化,常用的庫有cjson、jansson等。下面以cjson為例,介紹如何使用C語言訪問JSON數據。

首先需要下載cjson的源碼并編譯。下載鏈接:https://github.com/DaveGamble/cJSON。下載后解壓縮,進入cJSON目錄,使用make命令進行編譯。

$ make
$ sudo make install

編譯完成后,在需要使用cjson的程序中加入頭文件和鏈接庫。

#include "cJSON.h"
...
gcc test.c -lcjson

接下來就可以愉快地使用cjson訪問JSON數據了。

1. 解析JSON數據

通過cJSON_Parse()函數可以將JSON字符串解析成cJSON結構體。

char *json_str = "{\"name\":\"Tom\",\"age\":23,\"gender\":\"male\"}";
cJSON *root = cJSON_Parse(json_str);

2. 獲取JSON數據

通過cJSON_GetObjectItem()函數可以獲取JSON中的某個屬性值。

cJSON *name = cJSON_GetObjectItem(root, "name");
printf("%s\n", name->valuestring);

3. 遍歷JSON數據

可以通過cJSON_GetArraySize()函數獲取JSON中數組的大小,然后遍歷數組的每個元素。

char *json_str = "{\"students\":[{\"name\":\"Tom\",\"age\":23,\"gender\":\"male\"},{\"name\":\"Jane\",\"age\":22,\"gender\":\"female\"}]}";
cJSON *root = cJSON_Parse(json_str);
cJSON *students = cJSON_GetObjectItem(root, "students");
int size = cJSON_GetArraySize(students);
for(int i = 0; i< size; ++i) {
cJSON *student = cJSON_GetArrayItem(students, i);
cJSON *name = cJSON_GetObjectItem(student, "name");
cJSON *age = cJSON_GetObjectItem(student, "age");
cJSON *gender = cJSON_GetObjectItem(student, "gender");
printf("name:%s age:%d gender:%s\n", name->valuestring, age->valueint, gender->valuestring);
}

以上就是使用C語言訪問JSON數據的基本操作,希望對大家有所幫助。