C語言中的字典實現非常靈活,而將字典轉化成JSON字符串也變得很簡單。這可以通過將鍵和值存儲在C字典中來實現:
#include <stdio.h> #include <jansson.h> typedef struct{ const char *name; const char *number; }Person; int main() { dict *person_dict; Person p1 = { "Lucas", "123456789" }; Person p2 = { "Lily", "987654321" }; json_t *json_obj, *json_person_array; json_obj = json_object(); json_person_array = json_array(); person_dict = dict_new(10); dict_add(person_dict, p1.name, p1.number); dict_add(person_dict, p2.name, p2.number); for (int i = 0; i < person_dict->count; i++) { const char *name = person_dict->keys[i]; const char *number = (const char *) dict_get(person_dict, name); json_object_set_new(json_obj, name, json_string(number)); } json_person_array = json_array_append_new(json_person_array, json_obj); char *json_string = json_dumps(json_person_array, 0); printf("%s\n", json_string); dict_free(person_dict); free(json_string); return 0; }
在這個示例中,我們用字典存儲了兩個人的名字和號碼。然后,我們將字典中的所有鍵和值作為JSON對象的鍵和值存儲。最后,我們將生成的JSON對象添加到JSON數組中并轉換為字符串。
上一篇vue分頁怎么用