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

c 結構體轉json

林玟書1年前9瀏覽0評論

在C語言中,結構體是一種非常重要的數據類型之一。通常,我們將結構體定義為一組相關的數據項的集合,方便進行數據的管理和操作。為了更好地保存和傳輸這些結構體數據,我們需要將它們轉化為JSON格式,這是一種輕量級的數據交換格式。

#include <stdio.h>
#include <stdlib.h>
#include <jansson.h>
typedef struct {
char *name;
int age;
float score;
} Student;
int main() {
Student stu = {"Tom", 18, 90};
json_t *root; 
root = json_pack("{s:s,s:i,s:f}", "name", stu.name, "age", stu.age, "score", stu.score);
char *json_string = json_dumps(root, JSON_INDENT(2)); 
printf("JSON string:%s\n", json_string);
free(json_string);
json_decref(root);
return 0;
}

上述代碼演示了如何將一個結構體轉化為JSON字符串。第一步,我們定義了一個名為Student的結構體,其中包含了學生的姓名、年齡和成績。接著,我們使用jansson庫中的json_t類型定義了一個名為root的JSON對象。

然后,我們利用json_pack()函數向root對象中添加了三個鍵-值對,分別對應學生的姓名、年齡和成績,并使用%s、%i和%f分別指定了鍵和對應的值的數據類型。

最后,我們使用json_dumps()函數將root對象轉化為JSON格式的字符串,并通過printf()函數打印出來。同時,我們也需要在程序結束時釋放內存,使用json_decref()函數將root對象引用計數減一,以便正確釋放內存。