C 對象數組轉 JSON 字符串是一種非常常見的操作,通常在將數據傳輸到服務器或將數據從服務器返回客戶端時使用。在 C 語言中,我們可以使用第三方庫來實現此操作。下面介紹如何使用 cJSON 庫將 C 對象數組轉換為 JSON 字符串。
#include "cJSON.h" #includetypedef struct { int id; char name[20]; } Person; int main() { Person people[] = {{1, "Tom"}, {2, "Jack"}, {3, "Lucy"}}; cJSON *root = cJSON_CreateArray(); for(int i = 0; i< sizeof(people)/sizeof(Person); i++) { cJSON *item = cJSON_CreateObject(); cJSON_AddNumberToObject(item, "id", people[i].id); cJSON_AddStringToObject(item, "name", people[i].name); cJSON_AddItemToArray(root, item); } char *jsonStr = cJSON_Print(root); printf("%s\n", jsonStr); cJSON_Delete(root); return 0; }
在上面的代碼中,我們使用 cJSON_CreateArray 函數創建一個 JSON 數據對象。然后,遍歷 C 對象數組,將每個對象轉換為一個 JSON 數據對象,然后將 JSON 數據對象添加到 JSON 數據數組中。最后,使用 cJSON_Print 函數將 JSON 數據數組轉換為字符串并輸出。
需要注意的是,在使用完 cJSON 數據對象后,需要使用 cJSON_Delete 函數釋放內存。