在C語言中,讀取.json數據是一項非常常見的任務。下面將介紹一種簡單的方法來讀取.json數據:
#include <stdio.h> #include <stdlib.h> #include <jansson.h> int main() { char* json_string = "{\"name\": \"Tom\", \"age\": 24}"; json_t* json_data = json_loads(json_string, 0, NULL); if(!json_data) { fprintf(stderr, "Error parsing JSON string!\n"); return 1; } json_t* name = json_object_get(json_data, "name"); const char* name_value = json_string_value(name); printf("Name: %s\n", name_value); json_t* age = json_object_get(json_data, "age"); int age_value = json_integer_value(age); printf("Age: %d\n", age_value); json_decref(json_data); return 0; }
上面這個例子演示了如何使用jansson庫來解析一個包含姓名和年齡的.json字符串。
要解析一個.json文件,可以使用json_load_file()函數,如下所示:
json_error_t error; json_t* json_data = json_load_file("data.json", 0, &error); if(!json_data) { fprintf(stderr, "Error loading JSON file: %s\n", error.text); return 1; } // 讀取數據 json_decref(json_data);
其中,data.json是要讀取的.json文件的名稱。
在使用jansson庫時,需要注意內存管理。當json_t對象不再需要使用時,應該使用json_decref()函數來釋放它們。