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

c 結構體 轉json

張吉惟1年前8瀏覽0評論

C語言中的結構體是非常常見的數據類型,可以將不同類型的數據組合在一起存儲。然而在實際的開發中,我們需要將結構體數據轉換成JSON格式,方便數據的傳輸和存儲。

struct student{
char name[20];
int age;
char sex[5];
float score;
};

上述代碼是一個簡單的結構體聲明,包含了學生的姓名、年齡、性別和成績。下面我們介紹如何將該結構體轉化成JSON格式。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <json-c/json.h>
int main()
{
struct student s = {"小明", 20, "男", 89.5};
json_object * jobj = json_object_new_object();
json_object * jname = json_object_new_string(s.name);
json_object * jage = json_object_new_int(s.age);
json_object * jsex = json_object_new_string(s.sex);
json_object * jscore = json_object_new_double(s.score);
json_object_object_add(jobj, "姓名", jname);
json_object_object_add(jobj, "年齡", jage);
json_object_object_add(jobj, "性別", jsex);
json_object_object_add(jobj, "成績", jscore);
const char *json_str = json_object_to_json_string(jobj);
printf("%s\n", json_str);
json_object_put(jobj);
return 0;
}

上述代碼中,我們使用了json-c庫中的函數將結構體轉化成JSON格式。其中,`json_object_new_object()`用于創建一個JSON對象,`json_object_new_string()`用于創建JSON格式的字符串,`json_object_new_int()`用于創建整型數,`json_object_new_double()`用于創建浮點數。我們使用`json_object_object_add()` 將上述變量添加到json對象中。最后使用`json_object_to_json_string()`將json對象轉換為字符串,便于數據的傳輸和存儲。

總之,結構體轉化為JSON格式對于數據的傳輸和存儲有很大的幫助。C語言中的json-c庫提供了豐富的函數和方法,可以輕松地將結構體數據轉換成JSON格式。