C語言中的JSON多層解析可以通過使用第三方庫cJSON來實現。cJSON是一個非常小巧但功能強大的JSON解析庫,它具有應用廣泛、易于使用的特點。
// 首先需要包含cJSON庫頭文件 #include "cJSON.h" // 然后需要定義一個JSON字符串 char* json_str = "{\"name\":\"張三\",\"age\":22,\"address\":{\"city\":\"上海\",\"district\":\"浦東\"}}"; // 接著創建一個cJSON對象 cJSON* root = cJSON_Parse(json_str); // 獲取其中的基本類型數據,比如字符串和數值型數據 cJSON* name = cJSON_GetObjectItem(root, "name"); cJSON* age = cJSON_GetObjectItem(root, "age"); // 獲取其中的嵌套對象 cJSON* address =cJSON_GetObjectItem(root,"address"); cJSON* city =cJSON_GetObjectItem(address,"city"); cJSON* district =cJSON_GetObjectItem(address, "district"); // 最后,我們需要釋放cJSON對象和JSON字符串的內存 cJSON_Delete(root); free(json_str);
在上面的示例中,我們首先定義了一個JSON字符串,并使用cJSON_Parse()函數將其解析為一個cJSON對象。接著我們通過cJSON_GetObjectItem()函數獲取了JSON數據中的基本類型數據和嵌套對象。最后,我們需要使用cJSON_Delete()函數釋放cJSON對象的內存,使用free()函數釋放JSON字符串的內存。
通過使用cJSON庫,我們可以輕松地在C語言中解析多層JSON數據,實現數據的快速處理和操作。