在C語言中,對象集合可以用結構體數組實現。當需要將對象集合轉換成JSON字符串時,需要使用一個JSON庫,比如cJSON。
首先,需要引入cJSON庫頭文件。
#include "cJSON.h"
然后,定義一個結構體數組,以及數組長度:
typedef struct { char* name; int age; } Person; Person people[] = {{"Alice", 20}, {"Bob", 25}}; int count = sizeof(people) / sizeof(people[0]);
接下來,使用cJSON庫的API將結構體數組轉換成JSON字符串:
cJSON* root = cJSON_CreateArray(); for (int i = 0; i < count; i++) { cJSON* item = cJSON_CreateObject(); cJSON_AddStringToObject(item, "name", people[i].name); cJSON_AddNumberToObject(item, "age", people[i].age); cJSON_AddItemToArray(root, item); } char* json_str = cJSON_Print(root); printf("%s\n", json_str); free(json_str); cJSON_Delete(root);
上述代碼中,首先創建了一個空的JSON數組。然后遍歷結構體數組,為每個結構體對象創建一個JSON對象,并將其添加到數組中。最后調用cJSON_Print()函數,將JSON數組轉換成字符串。
需要注意cJSON_Print()函數返回的字符串需要手動釋放。而cJSON_Delete()函數用于釋放創建的JSON對象,也需要在使用完成后調用。
上一篇vue iframte
下一篇c 嵌套 json