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

c 將list轉json

江奕云1年前9瀏覽0評論

在C語言中將list轉json格式需要用到json-c這個庫,該庫提供了對json數據的解析和生成的功能。

以下是將list轉換為json的C語言代碼示例:

#include <stdio.h>
#include <json-c/json.h>
int main()
{
struct list_head list;
struct json_object *jobj, *jarray;
struct student *stu;
// 初始化list
INIT_LIST_HEAD(&list);
// 添加元素到list
stu = (struct student *)malloc(sizeof(struct student));
list_add_tail(&stu->list, &list);
// 生成json對象
jobj = json_object_new_object();
// 將list轉為json數組
jarray = json_object_new_array();
list_for_each_entry(stu, &list, list) {
json_object *jstu = json_object_new_object();
json_object_object_add(jstu, "name", json_object_new_string(stu->name));
json_object_object_add(jstu, "age", json_object_new_int(stu->age));
json_object_array_add(jarray, jstu);
}
json_object_object_add(jobj, "students", jarray);
// 輸出json字符串
printf("%s\n", json_object_to_json_string(jobj));
return 0;
}

在代碼中,首先定義了一個list頭,并通過INIT_LIST_HEAD()函數進行初始化。然后,通過list_add_tail()函數向list中添加元素。

接下來,通過json-c庫的json_object_new_object()函數創建一個json對象,然后使用json_object_new_array()函數將list轉為一個json數組。在循環中,使用json_object_new_object()函數創建一個包含學生姓名和年齡的json對象,并使用json_object_array_add()函數將這個對象添加到json數組中。

最后,在json對象中添加名為"students"的數組,并使用json_object_to_json_string()函數將json對象轉換為字符串輸出。