C JSON讀寫數據
C JSON庫是一種輕松處理 JSON 數據的方法。在這個例子中,我們會讀取 JSON 片段并使用 JSON 庫從其中提取數據。
#include <stdio.h> #include <string.h> #include <jansson.h> int main() { const char *json_data = "{\"name\":\"Alice\", \"age\":20}"; json_t *root = NULL; json_error_t error; root = json_loads(json_data, 0, &error); if(!root) { fprintf(stderr, "error: on line %d: %s\n", error.line, error.text); return 1; } const char *name = json_string_value(json_object_get(root, "name")); int age = json_integer_value(json_object_get(root, "age")); printf("name: %s, age: %d\n", name, age); json_decref(root); return 0; }
這個例子解析了一個 JSON 文本字符串。JSON_GET_STRING() 和 JSON_GET_INT() 宏從 JSON 對象中獲取值。
json_loads() 函數用來解析 JSON 字符串并創建 json_t 根對象。
json_oject_get() 和 json_string_value() 用來檢索 JSON 值,它們需要一個 json_t 指針和一個 key。
json_decref() 函數用來釋放使用 json_loads() 分配的內存。