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

c 取多層json

老白1年前7瀏覽0評論

在實際的開發中,我們經常會面對操作多層嵌套的JSON數據結構的情況。而C語言中并沒有內置的JSON解析功能,因此我們需要使用第三方庫來進行JSON的解析。

在此推薦兩個常用的C語言JSON處理庫:cJSON和Jansson。以下代碼示例以cJSON庫為例。

#include <stdio.h>
#include <stdlib.h>
#include <cJSON.h>
int main() {
char* jsonData = "{\"name\":\"張三\",\"age\":18,\"address\":{\"province\":\"江蘇省\",\"city\":\"南京市\"}}";
cJSON* root = cJSON_Parse(jsonData);
cJSON* address = cJSON_GetObjectItem(root, "address");
cJSON* province = cJSON_GetObjectItem(address, "province");
printf("%s\n", province->valuestring);
cJSON_Delete(root);
}

以上代碼中,我們首先定義了一段JSON格式的字符串jsonData。然后使用cJSON_Parse函數將其解析為cJSON格式的根節點root。接著使用cJSON_GetObjectItem函數取得root中的address節點,并通過cJSON_GetObjectItem函數獲取其下面的province節點。最后使用printf輸出province節點的valuestring。

需要注意的是,在取多層嵌套的節點時一定要確保上層節點存在,否則會導致程序崩潰。此外,在使用完cJSON_Parse后,一定要記得使用cJSON_Delete函數來釋放內存。