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

c 遍歷json 對象

方一強1年前8瀏覽0評論

JSON是一種輕量級數據格式,常用于前后端數據交互。

C語言常用的JSON庫有cJSON和jansson。本文以cJSON為例,介紹如何遍歷JSON對象。

#include <stdio.h>
#include <cJSON.h>
int main() {
char *json_str = "{\"name\":\"John\",\"age\":30,\"married\":true,\"hobbies\":[\"reading\",\"traveling\"]}";
cJSON *root = cJSON_Parse(json_str);
cJSON *name = cJSON_GetObjectItem(root, "name");
printf("name: %s\n", name->valuestring);
cJSON *age = cJSON_GetObjectItem(root, "age");
printf("age: %d\n", age->valueint);
cJSON *married = cJSON_GetObjectItem(root, "married");
printf("married: %s\n", cJSON_IsTrue(married) ? "true" : "false");
cJSON *hobbies = cJSON_GetObjectItem(root, "hobbies");
printf("hobbies:\n");
int i;
cJSON *hobby;
cJSON_ArrayForEach(hobby, hobbies) {
printf("%s\n", hobby->valuestring);
}
cJSON_Delete(root);
return 0;
}

以上代碼中,json_str是一個JSON字符串。使用cJSON_Parse函數將其解析為cJSON對象root。

cJSON_GetObjectItem函數可以獲取JSON對象的指定成員。

cJSON_IsTrue函數判斷JSON對象是否為true。

cJSON_ArrayForEach函數可以遍歷JSON數組。

以上代碼輸出:

name: John
age: 30
married: true
hobbies:
reading
traveling