c語言取json數據,需要使用第三方庫。以json-c為例:
#include <stdio.h> #include <stdlib.h> #include <json-c/json.h> int main() { char *json_str = "{\"name\": \"John Smith\", \"age\": 28, \"married\": false}"; // 解析json字符串 json_object *json_obj = json_tokener_parse(json_str); // 獲取name json_object *name_obj; json_object_object_get_ex(json_obj, "name", &name_obj); const char *name = json_object_get_string(name_obj); printf("name: %s\n", name); // 獲取age json_object *age_obj; json_object_object_get_ex(json_obj, "age", &age_obj); int age = json_object_get_int(age_obj); printf("age: %d\n", age); // 獲取married json_object *married_obj; json_object_object_get_ex(json_obj, "married", &married_obj); bool married = json_object_get_boolean(married_obj); printf("married: %s\n", (married ? "true" : "false")); // 釋放內存 json_object_put(json_obj); return 0; }
首先,定義一個json字符串,并解析成json_object對象。然后使用json_object_object_get_ex函數獲取name、age、married中的值,再進行相應的類型轉換。最后,使用json_object_put釋放內存。