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

c 獲取json的子值

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

在C語言中,獲取Json對象是一個很常見的操作。本文將介紹如何獲取Json的子值。

首先,我們需要使用Json解析器。目前在C語言中比較常用的Json解析器有jansson和cJSON。這里我們選擇使用cJSON。

假設我們有如下的Json對象:

{
"name": "Tom",
"age": 20,
"address": {
"city": "Shanghai",
"country": "China"
}
}

現在我們需要獲取address對象中的city值。代碼如下:

#include <stdio.h>
#include <cjson/cJSON.h>
int main()
{
char* json_string = "{\"name\":\"Tom\",\"age\":20,\"address\":{\"city\":\"Shanghai\",\"country\":\"China\"}}";
cJSON* root = cJSON_Parse(json_string);
cJSON* address = cJSON_GetObjectItem(root, "address");
cJSON* city = cJSON_GetObjectItem(address, "city");
printf("city = %s\n", city->valuestring);
cJSON_Delete(root);
return 0;
}

解釋一下代碼:

1. 使用cJSON_Parse函數將Json字符串解析成Json對象。

2. 使用cJSON_GetObjectItem函數獲取address對象。

3. 再次使用cJSON_GetObjectItem函數獲取city值。

4. 打印city值。

5. 使用cJSON_Delete函數釋放內存。

以上就是獲取Json對象子值的方法。需要注意的是,當獲取的值為數字類型時,需要使用cJSON_GetNumberValue函數;當獲取的值為布爾類型時,需要使用cJSON_IsTrue函數。