欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

c 解析多層json對象

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

C語言中解析多層JSON對象需要使用第三方庫,比如cJSON。cJSON是一種無依賴、輕量級的C語言JSON解析庫,能夠方便地解析復雜的JSON數據結構。

// 定義JSON字符串
char* json_str = "{ \
\"name\": \"John Smith\", \
\"age\": 25, \
\"address\": { \
\"street\": \"Main Street\", \
\"city\": \"New York\" \
} \
}";
// 解析JSON字符串
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);
// 獲取address字段值
cJSON* address = cJSON_GetObjectItem(root, "address");
// 獲取street字段值
cJSON* street = cJSON_GetObjectItem(address, "street");
printf("Street: %s\n", street->valuestring);
// 獲取city字段值
cJSON* city = cJSON_GetObjectItem(address, "city");
printf("City: %s\n", city->valuestring);
// 釋放內存
cJSON_Delete(root);

在以上代碼中,我們定義了一個JSON字符串,然后使用cJSON_Parse函數解析該字符串。接著,我們可以使用cJSON_GetObjectItem函數獲取JSON對象的各個字段值。需要注意的是,如果字段值為對象類型,則需要繼續使用cJSON_GetObjectItem函數獲取其內部字段值。

解析多層JSON對象需要我們重復使用cJSON_GetObjectItem函數,獲取對象的內嵌字段值。這一過程可通過遞歸實現。