在C編程中,通常需要將數據以JSON格式傳輸到另一個系統或服務。一種將C動態轉換為JSON對象數組的方法是使用 cJSON 庫。
cJSON是一個輕量級的C庫,用于解析和生成JSON格式的數據。它是一個單文件庫,容易使用,只需將其包含到您的項目中即可。cJSON支持創建JSON對象、創建JSON數組并可以自由地在兩者之間轉換。
下面的C代碼示例展示了如何將C結構體轉換為JSON對象數組:
#include "cJSON.h" typedef struct { int id; char name[20]; } Person; int main() { Person person1 = {1, "Tony"}; Person person2 = {2, "Steve"}; cJSON *root = cJSON_CreateArray(); cJSON *person1Json = cJSON_CreateObject(); cJSON_AddItemToObject(person1Json, "id", cJSON_CreateNumber(person1.id)); cJSON_AddItemToObject(person1Json, "name", cJSON_CreateString(person1.name)); cJSON_AddItemToArray(root, person1Json); cJSON *person2Json = cJSON_CreateObject(); cJSON_AddItemToObject(person2Json, "id", cJSON_CreateNumber(person2.id)); cJSON_AddItemToObject(person2Json, "name", cJSON_CreateString(person2.name)); cJSON_AddItemToArray(root, person2Json); char *jsonString = cJSON_Print(root); printf("%s", jsonString); cJSON_Delete(root); free(jsonString); return 0; }
在這段代碼中,我們定義了一個名為Person的C結構體,用于表示一個人的id和name。然后,我們創建了兩個Person對象和一個cJSON數組。對于每個Person對象,我們創建一個cJSON對象,使用cJSON_AddItemToObject將Person的屬性添加到JSON對象中。然后,我們將JSON對象添加到cJSON數組中。最后,我們將整個JSON數組打印為字符串。
使用cJSON庫動態轉換C數據為JSON對象數組是一種簡單且靈活的方法。cJSON允許您創建自定義JSON對象和數組,以及解析接收到的JSON數據。它比其他C JSON庫更小,更易于使用。
上一篇vue動態時間展示
下一篇python 柱狀圖大小