C 語言中讀取 JSON 格式數據是很重要的操作,學會如何讀取可以方便我們處理數據。下面介紹一下 C 語言中讀取 JSON 數據的方法。
#include <stdio.h>#include <stdlib.h>#include <string.h>#include <jansson.h>int main(){ char *json_str = "{\"name\":\"Tom\",\"age\":18}"; json_error_t error; json_t *json_obj = json_loads(json_str, 0, &error); if (json_obj == NULL) { printf("Error on line %d: %s\n", error.line, error.text); return 1; } json_t *name_obj = json_object_get(json_obj, "name"); json_t *age_obj = json_object_get(json_obj, "age"); const char *name_str = json_string_value(name_obj); int age_int = json_integer_value(age_obj); printf("Name:%s, Age:%d", name_str, age_int); json_decref(json_obj); return 0; }
上面的代碼首先聲明了一個 JSON 格式的字符串 json_str,然后使用 json_loads() 函數將字符串解析成一個 json_t 類型的對象 json_obj。錯誤信息存儲在 error 變量中。
接下來通過 json_object_get() 函數獲取 json_obj 中的兩個值,分別是 "name" 和 "age"。得到值后使用 json_string_value() 函數和 json_integer_value() 函數將 name_obj 和 age_obj 對象轉換成字符串和整型。
最后將獲取到的值打印輸出,并使用 json_decref() 函數釋放 json_obj。