欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

c 復雜對象轉json

林子帆2年前7瀏覽0評論

c語言作為一門編程語言,不僅支持面向過程的編程模式,也支持面向對象的編程模式。在使用復雜對象時,我們需要將其轉換為json格式進行傳輸或存儲,這就需要使用相關的c語言JSON庫。

#include "json.h"
#includetypedef struct {
int id;
char name[20];
float grade;
} Student;
int main() {
Student s = {1, "Jack", 89.5};
cJSON* root = cJSON_CreateObject();
cJSON_AddNumberToObject(root, "id", s.id);
cJSON_AddStringToObject(root, "name", s.name);
cJSON* grades = cJSON_CreateArray();
cJSON_AddNumberToObject(grades, "", s.grade);
cJSON_AddItemToObject(root, "grades", grades);
char* json_str = cJSON_Print(root);
printf("%s\n", json_str);
free(json_str);
cJSON_Delete(root);
return 0;
}

上述代碼中,我們定義了一個Student結構體,并使用cJSON庫將其轉換為json格式的字符串。
首先,我們需要定義一個cJSON對象root作為最外層對象,并使用cJSON_CreateObject()函數創建該對象;
接著,我們使用cJSON_Add*ToObject()函數將Student結構體中的id、name屬性添加到root對象中;
我們使用cJSON_CreateArray()函數創建一個數組grades,并使用cJSON_AddNumberToObject()/cJSON_AddStringToObject()等函數將數組元素添加到grades中;
最后,我們使用cJSON_Print()函數將cJSON對象轉換為json格式字符串,使用printf函數打印該字符串。
最后,我們需要注意:使用完cJSON對象后,需要使用cJSON_Delete()函數釋放內存。