在C語言編程中,解析JSON字符串列表通常是必要的操作。JSON是一種輕量級數據交換格式,常用于Web應用中。以下是如何使用C語言解析JSON字符串列表的步驟。
//導入JSON庫 #include <jansson.h> int main(void) { char *json_string = "[{\"name\":\"John Smith\",\"age\":35},{\"name\":\"Alice Johnson\",\"age\":25}]"; json_error_t error; //解析JSON字符串 json_t *root = json_loads(json_string, 0, &error); if (!root) { fprintf(stderr, "error: on line %d: %s\n", error.line, error.text); return 1; } //遍歷JSON列表 size_t size = json_array_size(root); for (size_t i = 0; i < size; i++) { json_t *obj = json_array_get(root, i); json_t *name = json_object_get(obj, "name"); json_t *age = json_object_get(obj, "age"); const char *name_str = json_string_value(name); int age_int = json_integer_value(age); printf("Name: %s, Age: %d\n", name_str, age_int); } //釋放JSON對象內存 json_decref(root); return 0; }
以上代碼中,我們使用了第三方JSON庫"jansson.h"來解析JSON字符串列表。首先,我們通過調用json_loads函數將JSON字符串解析為json_t對象,并進行錯誤檢查。然后,我們使用for循環遍歷JSON對象列表,依次獲取每個對象的"name"和"age"屬性值,并將其打印出來。最后,我們使用json_decref方法釋放json_t對象內存。
撰寫C語言程序時,需要注意內存泄漏和代碼優化。我們應該分配和釋放內存的同時保證代碼效率。解析JSON字符串列表在這方面也不例外。