C語言中提供了許多處理JSON格式數據的開源庫,其中比較常用的是cJSON。在cJSON中,我們可以將一個JSON對象轉化為數組對象,同時還可以將一個對象數組轉化為JSON對象。
下面介紹一下如何將JSON對象轉化為數組對象。
cJSON* json_object = cJSON_Parse("{\"name\":\"Tom\", \"age\":18}"); if (json_object != NULL) { cJSON* array = cJSON_CreateArray(); cJSON_AddItemToArray(array, json_object); // ... }
在上面的代碼中,我們首先通過cJSON_Parse函數將一個JSON對象解析為cJSON對象,隨后通過cJSON_CreateArray函數創建一個數組對象,并通過cJSON_AddItemToArray函數將解析得到的JSON對象加入到數組中。
接下來介紹一下如何將對象數組轉化為JSON對象。
cJSON* array = cJSON_CreateArray(); cJSON* obj1 = cJSON_CreateObject(); cJSON_AddItemToObject(obj1, "name", cJSON_CreateString("Tom")); cJSON_AddItemToObject(obj1, "age", cJSON_CreateNumber(18)); cJSON_AddItemToArray(array, obj1); cJSON* obj2 = cJSON_CreateObject(); cJSON_AddItemToObject(obj2, "name", cJSON_CreateString("Lucas")); cJSON_AddItemToObject(obj2, "age", cJSON_CreateNumber(20)); cJSON_AddItemToArray(array, obj2); cJSON_Print(array);
在上面的代碼中,我們首先通過cJSON_CreateArray函數創建一個數組對象,隨后創建兩個cJSON對象,并通過cJSON_AddItemToObject函數將兩個對象的屬性加入到對象中。最后,通過cJSON_AddItemToArray將兩個對象加入到數組對象中,并通過cJSON_Print函數將數組對象轉化為JSON格式字符串。
通過上述代碼示例,相信大家已經對cJSON中如何將JSON對象轉化為數組對象以及將對象數組轉化為JSON對象有了更深入的了解。