在C語言中使用JSON(JavaScript Object Notation)來處理數據是非常方便的。C語言常用的JSON庫包括cJSON、libjson等。其中,cJSON是一個高效輕量級的JSON解析器和生成器,使用簡單方便。下面我們將介紹如何使用cJSON來組裝JSON數據。
#include "cJSON.h" #includeint main() { cJSON* root = cJSON_CreateObject(); cJSON_AddStringToObject(root, "name", "Tom"); cJSON_AddNumberToObject(root, "age", 18); cJSON* array = cJSON_CreateArray(); cJSON* obj1 = cJSON_CreateObject(); cJSON_AddStringToObject(obj1, "school", "Tsinghua University"); cJSON_AddNumberToObject(obj1, "score", 100); cJSON_AddItemToArray(array, obj1); cJSON* obj2 = cJSON_CreateObject(); cJSON_AddStringToObject(obj2, "school", "Peking University"); cJSON_AddNumberToObject(obj2, "score", 95); cJSON_AddItemToArray(array, obj2); cJSON_AddItemToObject(root, "list", array); char* jsonString = cJSON_Print(root); printf("%s", jsonString); return 0; }
在上面的代碼中,我們先創(chuàng)建了一個空的cJSON對象root,并向其中添加了name、age以及一個數字列表list,其中列表中有兩個元素:學校名稱與分數。接著我們通過調用cJSON_Print將JSON對象序列化成字符串,并輸出到屏幕上。
運行以上代碼,輸出結果如下:
{"name":"Tom","age":18,"list":[{"school":"Tsinghua University","score":100},{"school":"Peking University","score":95}]}
可以看出,我們成功地將JSON數據組裝成了對象,并將其序列化成了字符串。接下來,你可以根據需要對字符串進行處理,或者通過cJSON_Parse將字符串反序列化成JSON對象,并進行進一步的操作。