對于 C 語言來說,解析 JSON 有兩個基本的任務:1)將字符串解析成 JSON 對象;2)獲取 JSON 對象中的數據。對于簡單的 JSON,可以使用 C 的字符串處理函數和基本類型轉換函數進行解析。下面是一個例子:
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <stdbool.h> #include <jansson.h> int main() { char *json_string = "{ \"name\": \"張三\", \"age\": 19 }"; json_error_t error; json_t *json = json_loads(json_string, 0, &error); if (!json) { printf("error: %s\n", error.text); return EXIT_FAILURE; } const char *name = json_string_value(json_object_get(json, "name")); int age = json_integer_value(json_object_get(json, "age")); printf("name: %s\n", name); printf("age: %d\n", age); json_decref(json); return EXIT_SUCCESS; }在這個例子中,首先我們定義了一個 JSON 字符串,然后使用 json_loads 函數將字符串解析成 JSON 對象。如果解析失敗,我們使用 json_error_t 結構體中的信息進行錯誤處理。接下來,使用 json_object_get 函數獲取 JSON 對象中的指定鍵的值,并使用對應的類型轉換函數(如 json_string_value 和 json_integer_value)將其轉換為 C 的基本類型。最后,我們使用 json_decref 函數釋放 JSON 對象的內存空間。
上一篇data.json制作
下一篇vue app項目源碼