在C語言中,可以通過使用第三方庫來解析JSON格式的數據并從中取值。以下是一些示例代碼。
#include <stdio.h> #include <jansson.h> int main() { const char *json_string = "{\"name\":\"John\",\"age\":32,\"married\":true}"; json_error_t error; json_t *root = json_loads(json_string, JSON_DECODE_ANY, &error); if(!root) { printf("json error on line %d: %s\n", error.line, error.text); return 1; } json_t *name = json_object_get(root, "name"); if(!json_is_string(name)) { printf("name is not a string\n"); return 1; } printf("name: %s\n", json_string_value(name)); json_t *age = json_object_get(root, "age"); if(!json_is_number(age)) { printf("age is not a number\n"); return 1; } printf("age: %d\n", json_integer_value(age)); json_t *married = json_object_get(root, "married"); if(!json_is_boolean(married)) { printf("married is not a boolean\n"); return 1; } printf("married: %s\n", json_is_true(married) ? "true" : "false"); json_decref(root); return 0; }
首先,需要引入第三方庫`jansson.h`。然后,可以定義一個JSON字符串,并使用`json_loads()`函數將其載入JSON對象中。
通過使用`json_object_get()`函數可以獲取JSON對象中的某個元素,例如根據鍵名獲取一個字符串類型的元素`name`。獲取元素之后,需要使用合適的JSON類型檢查方法,例如`json_is_string()`、`json_is_number()`和`json_is_boolean()`等進行檢查。對于每個元素類型,可以使用相應的函數`json_string_value()`、`json_integer_value()`和`json_is_true()`獲取其值。
最后,需要使用`json_decref()`函數釋放JSON對象的內存。
上一篇python 股票爬取
下一篇vue取不到event