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

c 數據結構轉成 json

錢淋西1年前9瀏覽0評論

C 數據結構是許多程序員們常用的數據類型,而 JSON(JavaScript Object Notation)是一種輕量級的數據交換格式。在許多情況下,需要將 C 數據結構轉換為 JSON 格式,以便在不同平臺、不同語言之間傳遞數據。下面我們介紹如何將 C 數據結構轉換為 JSON 格式。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <jansson.h>
typedef struct {
char *name;
int age;
char *address;
} Person;
int main() {
Person person = {"Tom", 18, "Beijing"};
json_t *json_obj = json_object();
json_object_set_new(json_obj, "name", json_string(person.name));
json_object_set_new(json_obj, "age", json_integer(person.age));
json_object_set_new(json_obj, "address", json_string(person.address));
char *json_str = json_dumps(json_obj, JSON_COMPACT | JSON_ENSURE_ASCII);
printf("%s\n", json_str);
json_decref(json_obj);
free(json_str);
return 0;
}

首先,我們定義了一個 Person 結構體,并初始化了其中的一個實例。接下來,我們使用 jansson 庫中的 json_t 類型對象創建一個 JSON 對象。然后,在 JSON 對象中設置屬性值,通過 json_object_set_new 函數將 C 結構體中的屬性轉換為 JSON 對象的鍵值對。值得注意的是,我們要使用 jansson 庫中的 json_string 和 json_integer 函數將 C 結構體中的字符串和整數轉換為 JSON 中的字符串和數字。最后,我們使用 json_dumps 函數將 JSON 對象轉換為 JSON 字符串,并使用 printf 函數打印出來。

最后,一定要記得在使用完 jansson 庫的函數之后,及時釋放內存,以免造成內存泄漏。