色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

c 動態轉json對象數組

洪振霞1年前9瀏覽0評論

在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庫更小,更易于使用。