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

C 解析json里面嵌套json

傅智翔1年前8瀏覽0評論

在C語言中解析JSON嵌套的JSON可以使用第三方庫cJSON。CJSON可以將JSON解析為一個樹形結構,方便遍歷、操作、修改。

#include<stdio.h>
#include<cJSON.h>
int main(){
char *json_string="{\"name\":\"小明\",\"age\":18,\"class\":{\"className\":\"三年二班\",\"teacher\":\"張老師\"}}";
cJSON *root=cJSON_Parse(json_string);
if(!root){
printf("解析失敗!");
return 1;
}
cJSON *name=cJSON_GetObjectItem(root,"name");//獲取根節點中的"name"對象
cJSON *age=cJSON_GetObjectItem(root,"age");//獲取根節點中的"age"對象
printf("姓名:%s\n年齡:%d\n",name->valuestring,age->valueint);//輸出"name"和"age"
cJSON *class=cJSON_GetObjectItem(root,"class");//獲取根節點中的"class"對象
cJSON *classname=cJSON_GetObjectItem(class,"className");//獲取"class"對象中的"className"對象
cJSON *teacher=cJSON_GetObjectItem(class,"teacher");//獲取"class"對象中的"teacher"對象
printf("班級:%s\n班主任:%s\n",classname->valuestring,teacher->valuestring);//輸出"className"和"teacher"
cJSON_Delete(root);//釋放內存
return 0;
}

在上面的例子中,我們定義了一個JSON字符串,里面包含了一個"name"和"age"對象,以及一個"class"對象,其中"class"對象又包含了一個"className"和"teacher"對象。通過cJSON_Parse函數將JSON字符串解析為樹形結構,并通過cJSON_GetObjectItem函數獲取需要的對象。

如果JSON嵌套的層數比較深,可以使用遞歸函數來遍歷整個樹形結構。使用cJSON庫可以很方便地處理JSON嵌套的JSON。