C語言中想要將JSON轉換成List是非常容易的,只需要用到相關的庫函數即可。
#include <stdio.h> #include <jansson.h> int main() { const char* json_string = "{\"name\": \"張三\", \"age\": 18}"; json_t* root = json_loads(json_string, 0, NULL); json_t* key; json_t* value; size_t index; /* 創建List */ json_t* list = json_array(); json_array_append(list, root); /* 打印List */ json_array_foreach(list, index, value) { printf("value %zu:\n", index); json_object_foreach(value, key, value) { printf(" %s\n", json_string_value(value)); } } /* 釋放內存 */ json_decref(root); json_decref(list); return 0; }
上面的代碼就是將一個JSON對象轉換成List的完整代碼,其中用到了C語言中最常用的JSON處理庫——jansson。通過json_loads函數將JSON字符串轉換成json_t類型的對象,再將該對象添加到創建好的List中即可。
值得注意的是,為了正常使用jansson庫,需要在編譯時添加-ljansson參數。
最后,要特別提醒大家注意JSON格式的正確性。若JSON字符串格式存在問題,轉換成List也是失敗的。