c 后臺解析 json 字符串是一種非常常見的操作,它可以在程序中快速方便地提取 json 數據并轉換為方便操作的數據結構。下面我們來看一下如何使用 c 語言解析 json 字符串。
#include <stdio.h> #include <jansson.h> int main(int argc, char *argv[]) { char* json_string = "{\"name\":\"張三\",\"age\":18}"; json_t* json = NULL; json_error_t error; json = json_loads(json_string, JSON_DECODE_ANY, &error); if(!json) { printf("json error on line %d: %s\n", error.line, error.text); return 1; } json_t* name = json_object_get(json, "name"); printf("%s\n", json_string_value(name)); json_t* age = json_object_get(json, "age"); printf("%d\n", json_integer_value(age)); json_decref(json); return 0; }
以上是一個簡單的示例代碼,它從 json 字符串中提取了 name 和 age 兩個字段并打印出來。
代碼中使用了 jansson 這個 c 語言的 json 解析庫。首先需要通過 json_loads() 函數將 json 字符串加載為 json_t 類型的對象,并檢查加載是否成功。然后使用 json_object_get() 函數從 json 對象中獲取字段的值,并使用 json_string_value() 或 json_integer_value() 函數將值轉換為字符串或整數。最后使用 json_decref() 函數釋放 json 對象占用的內存。
上面這個例子雖然簡單,但卻可以幫助理解 c 后臺解析 json 字符串的一些基本操作。