C語言中的JSON序列化庫是非常流行的,因為JSON作為一種輕量級的數據交換格式,已經被廣泛應用于互聯網開發中。而使用List
#include <stdio.h> #include <jansson.h> #include <glib.h> typedef struct{ gchar *name; gint age; }Person; int main(){ GList *person_list = NULL; Person *person1 = g_new0(Person,1); person1->name = g_strdup("張三"); person1->age = 25; person_list = g_list_append(person_list, person1); Person *person2 = g_new0(Person,1); person2->name = g_strdup("李四"); person2->age = 30; person_list = g_list_append(person_list, person2); json_t *persons = json_array(); GList *p; for(p=person_list;p!=NULL;p=p->next){ Person *person = (Person*)(p->data); json_t *jobj = json_object(); json_object_set_new(jobj, "name", json_string(person->name)); json_object_set_new(jobj, "age", json_integer(person->age)); json_array_append_new(persons,jobj); } char *json_str = json_dumps(persons, JSON_ALLOW_NUL); printf("%s\n",json_str); g_free(json_str); json_decref(persons); g_list_free_full(person_list, g_free); return 0; }
上面的代碼演示了如何使用List
最后,使用json_dumps函數將persons數組轉化為JSON字符串,并輸出到控制臺。
需要注意的是,在釋放person_list時要使用g_list_free_full函數,這樣才能同時釋放所有Person類型數據中的動態內存。
上一篇vue實現拖動div
下一篇html應用java代碼