JSON是一種輕量級的數據交換格式,被廣泛應用于Web應用程序開發中。在C語言中,可以通過開源的JSON-C庫來解析和生成JSON數據。當需要讀取多層的JSON數據中的某個字段時,可以使用JSON對象的嵌套結構,即將JSON對象作為字段的值來實現。
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <json-c/json.h> const char *str = "{\"name\":{\"first\":\"Alice\",\"last\":\"Doe\"},\"age\":25}"; int main(void) { struct json_object *person, *name, *first, *last, *age; person = json_tokener_parse(str); json_object_object_get_ex(person, "name", &name); json_object_object_get_ex(name, "first", &first); json_object_object_get_ex(name, "last", &last); json_object_object_get_ex(person, "age", &age); printf("Name: %s %s\n", json_object_get_string(first), json_object_get_string(last)); printf("Age: %d\n", json_object_get_int(age)); json_object_put(person); return 0; }
上述代碼演示了如何解析一個包含多層嵌套結構的JSON對象,并讀取其中的某些字段的值。首先使用json_tokener_parse()函數將JSON字符串轉換成JSON對象,然后使用json_object_object_get_ex()函數從JSON對象中獲取每個字段的值,并通過json_object_get_string()和json_object_get_int()函數獲取字符串和整數類型的值。
在示例JSON字符串中,包含一個名為name的對象,其值為一個包含first和last字段的對象,另外還有一個名為age的字段。通過對JSON對象的嵌套使用,我們可以輕松地獲取多層嵌套結構中的字段值。
上一篇html尺寸在哪設置
下一篇vue flyio