c獲取json字段的值
在c語言中,我們可以使用json-c庫來解析json數據,然后獲取其中的字段值。下面是一個示例:
#include <stdio.h>
#include <json-c/json.h>
int main() {
const char *json_string = "{\"name\": \"Tom\", \"age\": 20}";
struct json_object *json_obj = json_tokener_parse(json_string);
struct json_object *name_obj = NULL;
struct json_object *age_obj = NULL;
json_object_object_get_ex(json_obj, "name", &name_obj);
json_object_object_get_ex(json_obj, "age", &age_obj);
printf("name: %s\n", json_object_get_string(name_obj));
printf("age: %d\n", json_object_get_int(age_obj));
return 0;
}
首先,我們定義一個json字符串,并使用json_tokener_parse函數將其解析為json對象。
然后,我們使用json_object_object_get_ex函數根據字段名獲取相應的json對象,并將其賦值給一個變量。由于json對象具有不同的類型,我們需要使用不同的函數來獲取其值。例如,我們使用json_object_get_string函數獲取字符串類型的值,使用json_object_get_int函數獲取整數類型的值。
最后,我們使用printf函數將結果輸出到屏幕。