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

c 解析嵌套型json

呂致盈1年前8瀏覽0評論

在C語言中解析嵌套型的JSON可以使用第三方庫,比如cJSON。這篇文章將介紹如何使用cJSON來解析嵌套型的JSON。

/* JSON字符串示例 */
{
"name": "John",
"age": 30,
"address": {
"street": "123 Main St",
"city": "Anytown",
"state": "TX",
"zip": "12345"
}
}
/* C代碼示例 */
#include#include "cJSON.h"
int main() {
// 解析JSON字符串
char* json_str = "{ \"name\": \"John\", \"age\": 30, \"address\": { \"street\": \"123 Main St\", \"city\": \"Anytown\", \"state\": \"TX\", \"zip\": \"12345\" } }";
cJSON* json = cJSON_Parse(json_str);
// 從JSON中獲取值
cJSON* name = cJSON_GetObjectItem(json, "name");
cJSON* age = cJSON_GetObjectItem(json, "age");
cJSON* address = cJSON_GetObjectItem(json, "address");
cJSON* street = cJSON_GetObjectItem(address, "street");
cJSON* city = cJSON_GetObjectItem(address, "city");
cJSON* state = cJSON_GetObjectItem(address, "state");
cJSON* zip = cJSON_GetObjectItem(address, "zip");
// 輸出值
printf("Name: %s\n", name->valuestring);
printf("Age: %d\n", age->valueint);
printf("Address:\n");
printf("  Street: %s\n", street->valuestring);
printf("  City: %s\n", city->valuestring);
printf("  State: %s\n", state->valuestring);
printf("  ZIP: %s\n", zip->valuestring);
// 釋放內存
cJSON_Delete(json);
return 0;
}

使用cJSON解析嵌套型的JSON非常簡單,只需要使用cJSON_Parse函數解析JSON字符串,然后使用cJSON_GetObjectItem函數獲取對象屬性的值即可。