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

c json 數組轉對象

錢良釵2年前8瀏覽0評論

在C語言中,JSON數據可以被解析成數組和對象兩種形式的數據結構,轉換過程相對簡單。其中,數組轉對象的過程可參考以下代碼:

#include "cJSON.h"
#includeint main() {
char* arr = "[{\"name\":\"Tom\", \"age\":18}, {\"name\":\"Jack\", \"age\":20}]";
cJSON* array_json = cJSON_Parse(arr);
// 將數組解析成對象
cJSON* object_json = cJSON_CreateObject();
for (int i = 0; i< cJSON_GetArraySize(array_json); i++) {
cJSON* object = cJSON_GetArrayItem(array_json, i);
char* name = cJSON_GetObjectItem(object, "name")->valuestring;
cJSON_AddItemToObject(object_json, name, object);
}
// 輸出轉換后的對象
char* object_str = cJSON_Print(object_json);
printf("%s\n", object_str);
cJSON_Delete(array_json);
cJSON_Delete(object_json);
return 0;
}

以上代碼中,我們首先用cJSON_Parse函數將JSON數組解析成cJSON類型的數組變量array_json。然后,我們使用cJSON_CreateObject函數創建一個新的cJSON對象。接下來,我們使用循環遍歷array_json數組,通過cJSON_GetArrayItem函數獲取每個子項,再用cJSON_GetObjectItem函數獲取子項中的"name"鍵對應的值,并將該子項加入到新創建的cJSON對象中,其鍵為"name"的值。最后,我們使用cJSON_Print函數將轉換后的cJSON對象數組轉換為字符串并輸出。最后別忘了釋放內存,即調用cJSON_Delete函數將array_json和object_json從內存中刪除。