色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

c 如何讀取json內容

錢衛國2年前8瀏覽0評論

C語言可以使用第三方庫,如Json-c或Jansson等,來讀取JSON內容。這些庫提供了許多函數,用于解析和操作JSON對象。下面以Json-C庫為例,介紹如何讀取JSON內容。

// 引入頭文件
#include#includeint main() {
// JSON字符串
char *json_str = "{ \"name\": \"Tom\", \"age\": 20, \"hobbies\": [\"reading\", \"swimming\"] }";
// 解析JSON字符串并獲取根節點
struct json_object *json_obj = json_tokener_parse(json_str);
// 獲取name字段的值(字符串類型)
struct json_object *name_obj;
json_object_object_get_ex(json_obj, "name", &name_obj);
const char *name = json_object_get_string(name_obj);
// 獲取age字段的值(整型)
struct json_object *age_obj;
json_object_object_get_ex(json_obj, "age", &age_obj);
int age = json_object_get_int(age_obj);
// 獲取hobbies字段的值(數組類型)
struct json_object *hobbies_obj;
json_object_object_get_ex(json_obj, "hobbies", &hobbies_obj);
int hobbies_len = json_object_array_length(hobbies_obj);
for (int i = 0; i< hobbies_len; i++) {
struct json_object *hobby_obj = json_object_array_get_idx(hobbies_obj, i);
const char *hobby = json_object_get_string(hobby_obj);
printf("%d: %s\n", i + 1, hobby);
}
// 釋放內存
json_object_put(json_obj);
return 0;
}

以上代碼中,首先需要引入頭文件,并定義一個JSON字符串。然后,使用json_tokener_parse函數解析JSON字符串并獲取根節點。接下來,依次使用json_object_object_get_ex函數獲取各個字段的值,并使用相應的json_object_get_XXX函數獲取具體值。最后,需要使用json_object_put函數釋放內存。

在編譯時,需要添加-ljson-c參數鏈接Json-C庫。使用以上方法,可以方便地讀取JSON內容,以便進行后續的數據處理。