JSON是一種數(shù)據(jù)格式,它以鍵值對的形式來表達數(shù)據(jù)。C語言的JSON庫提供了豐富的功能,可以用于構(gòu)造JSON數(shù)據(jù)。
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <cjson/cJSON.h> int main() { cJSON* root = cJSON_CreateObject(); // 創(chuàng)建一個JSON對象 cJSON_AddStringToObject(root, "name", "John"); // 添加字符串類型鍵值對 cJSON_AddNumberToObject(root, "age", 25); // 添加數(shù)字類型鍵值對 cJSON* hobbiesArray = cJSON_AddArrayToObject(root, "hobbies"); // 添加數(shù)組類型鍵值對 cJSON_AddItemToArray(hobbiesArray, cJSON_CreateString("reading")); cJSON_AddItemToArray(hobbiesArray, cJSON_CreateString("hiking")); char* jsonString = cJSON_Print(root); // 將JSON對象轉(zhuǎn)換成字符串 printf("%s", jsonString); cJSON_Delete(root); // 釋放內(nèi)存 free(jsonString); return 0; }
上面的代碼演示了如何使用C語言的JSON庫來構(gòu)造JSON數(shù)據(jù)。CJSON庫提供了cJSON_CreateObject()函數(shù)來創(chuàng)建一個JSON對象,同時還提供了多種方法來添加不同類型的鍵值對,包括字符串、數(shù)字、數(shù)組等。
當(dāng)構(gòu)造完JSON對象后,我們可以使用cJSON_Print()將其轉(zhuǎn)換成字符串。最后,別忘了通過cJSON_Delete()釋放內(nèi)存。