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

c 怎么取json對象的子對象

錢瀠龍2年前9瀏覽0評論

在C語言中,如何取得JSON對象的子對象呢?首先,我們需要使用JSON庫。目前常用的JSON庫有cJSON和json-c,本文以cJSON為例。

//引入頭文件
#include <stdio.h>
#include <cjson/cJSON.h>
int main() {
//解析JSON字符串
char* json_str = "{\"name\": \"張三\", \"age\": 20}";
cJSON* root = cJSON_Parse(json_str);
//從根節(jié)點中取得子對象name
cJSON* name = cJSON_GetObjectItem(root, "name");
printf("name: %s\n", cJSON_Print(name));
//從根節(jié)點中取得子對象age
cJSON* age = cJSON_GetObjectItem(root, "age");
printf("age: %d\n", age->valueint);
//釋放內(nèi)存
cJSON_Delete(root);
return 0;
}

在代碼中,我們首先引入了cJSON的頭文件。接著,我們定義了一個JSON字符串(注意,JSON中的字符串需要使用雙引號),并用cJSON_Parse()函數(shù)將其解析為一個cJSON對象。然后,我們使用cJSON_GetObjectItem()函數(shù)從根節(jié)點中獲取子對象name和age,并分別輸出它們的值。最后,我們使用cJSON_Delete()函數(shù)釋放內(nèi)存。

cJSON_GetObjectItem()函數(shù)的第一個參數(shù)是父節(jié)點對象,第二個參數(shù)是子對象的鍵。如果子對象的值為字符串,可以使用cJSON_Print()函數(shù)將其輸出。如果子對象的值為數(shù)值,可以使用子對象的valueint或valuedouble屬性獲取。