c obj指的是C語言中的對象,而JSON則是一種輕量級的數據交換格式。為了方便C語言開發者將數據轉換成JSON格式來進行交互或者存儲,我們可以采用c obj to json的方法來實現。下面我們來介紹一下如何進行c obj to json的轉換。
#include#include #include #include typedef struct person { char name[30]; int age; }Person; void print_person(Person *p) { printf("name: %s, age: %d\n", p->name, p->age); } int main(void) { Person person[] = { {"Tom", 20}, {"Jerry", 25}, {"Mary", 30}, }; cJSON *root, *person_array; char *out; int i; root = cJSON_CreateObject(); person_array = cJSON_AddArrayToObject(root, "persons"); for (i = 0; i< 3; i++) { cJSON *person_item = cJSON_CreateObject(); cJSON_AddStringToObject(person_item, "name", person[i].name); cJSON_AddNumberToObject(person_item, "age", person[i].age); cJSON_AddItemToArray(person_array, person_item); } out = cJSON_Print(root); printf("%s\n", out); free(out); cJSON_Delete(root); return 0; }
以上代碼實現了將一個C語言中的結構體數組轉換成JSON格式的數據的過程。首先我們需要引入cJSON庫,在代碼中,我們定義了一個Person結構體,然后初始化了一個Person類型的數組。接著,我們創建了一個root對象和一個person_array子對象,將person_array對象加入到root對象中,并利用循環將每一個Person類型的結構體對象轉換成一個JSON對象,最后將數組中每一個JSON對象添加到person_array的子對象中。
最后,我們打印輸出了轉換后的JSON數據,并釋放了我們之前申請的內存。