在C語言中,JSON序列化和反序列化已經成為了一項基本的技能。然而,在很多情況下,僅僅通過JSON中的鍵值對是遠遠不夠的。很多時候,我們需要使用JSON中的列表來存儲大量的數據。下面我們就來介紹一下如何在C JSON中添加列表。
cJSON* root=cJSON_CreateObject();//創建根節點 cJSON* userArr=cJSON_CreateArray();//創建數組 cJSON* user=cJSON_CreateObject();//數組中增加用戶信息 cJSON_AddItemToObject(user,"name",cJSON_CreateString("張三")); cJSON_AddItemToObject(user,"age",cJSON_CreateNumber(20)); cJSON_AddItemToArray(userArr,user); user=cJSON_CreateObject(); cJSON_AddItemToObject(user,"name",cJSON_CreateString("李四")); cJSON_AddItemToObject(user,"age",cJSON_CreateNumber(21)); cJSON_AddItemToArray(userArr,user); cJSON_AddItemToObject(root,"users",userArr);//根節點增加users數組 char* jsonStr=cJSON_Print(root);//將JSON轉換成字符串 printf("%s\n",jsonStr); cJSON_Delete(root);//釋放內存 free(jsonStr);//釋放字符串
上述代碼中,我們首先創建了一個根節點,然后創建了一個名為userArr的列表。接著,我們創建了兩個JSON對象,一個代表姓名為張三、年齡為20的用戶,另一個代表姓名為李四、年齡為21的用戶。然后,我們依次將這兩個用戶對象添加到了userArr列表中。最后,我們將userArr列表添加到根節點中,并將JSON轉換成字符串輸出。
需要注意的是,我們在向數組中添加用戶對象時,使用的是cJSON_AddItemToArray函數。需要傳遞的參數是列表對象和用戶對象。
通過上述代碼,我們就成功地添加了一個JSON列表。這樣,在處理大量數據時,我們就可以使用JSON列表將它們按照規律組織起來,方便存儲和訪問。關于C JSON的其他用法,還請大家自行學習。