在C語言中,將list轉換為JSON格式的字符串并不困難。我們只需要使用C語言中的JSON庫,例如CJSON,就可以快速地將我們的list轉換為JSON格式的字符串。以下是使用CJSON庫將list轉換為JSON格式的字符串的示例代碼。
#include#include "cJSON.h" typedef struct { int id; char *name; int age; } Person; int main() { cJSON *root, *personArray, *personObject; Person person1 = {1, "張三", 20}; Person person2 = {2, "李四", 22}; Person person3 = {3, "王五", 25}; cJSON_InitHooks(NULL); root = cJSON_CreateObject(); personArray = cJSON_CreateArray(); personObject = cJSON_CreateObject(); if(personObject) { cJSON_AddItemToObject(personObject, "id", cJSON_CreateNumber(person1.id)); cJSON_AddItemToObject(personObject, "name", cJSON_CreateString(person1.name)); cJSON_AddItemToObject(personObject, "age", cJSON_CreateNumber(person1.age)); cJSON_AddItemToArray(personArray, personObject); personObject = cJSON_CreateObject(); cJSON_AddItemToObject(personObject, "id", cJSON_CreateNumber(person2.id)); cJSON_AddItemToObject(personObject, "name", cJSON_CreateString(person2.name)); cJSON_AddItemToObject(personObject, "age", cJSON_CreateNumber(person2.age)); cJSON_AddItemToArray(personArray, personObject); personObject = cJSON_CreateObject(); cJSON_AddItemToObject(personObject, "id", cJSON_CreateNumber(person3.id)); cJSON_AddItemToObject(personObject, "name", cJSON_CreateString(person3.name)); cJSON_AddItemToObject(personObject, "age", cJSON_CreateNumber(person3.age)); cJSON_AddItemToArray(personArray, personObject); } cJSON_AddItemToObject(root, "persons", personArray); char *jsonString = cJSON_Print(root); printf("%s", jsonString); cJSON_Delete(root); free(jsonString); return 0; }
在這個示例中,我們創建了一個名為"persons"的JSON對象,它包含一個由三個人員信息組成的數組。使用cJSON庫創建JSON對象和數組非常方便。我們只需要使用它提供的函數
最后使用