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

c json獲取數組

呂致盈2年前8瀏覽0評論

C語言中,要通過JSON獲取數組,需要用到一個開源庫——json-c。這個庫提供了許多函數,用于解析JSON數據,并且能夠靈活、高效地處理數組。

#include <stdio.h>
#include <json-c/json.h>
int main() {
const char* json_string = "{\"name\": \"Tina\", \"age\": 20, \"hobbies\": [\"reading\", \"singing\", \"dancing\"]}";
struct json_object* json_object = json_tokener_parse(json_string);
struct json_object* hobbies_object = NULL;
if (json_object_object_get_ex(json_object, "hobbies", &hobbies_object)) {
if (json_object_is_type(hobbies_object, json_type_array)) {
int hobbies_count = json_object_array_length(hobbies_object);
printf("Tina has %d hobbies:\n", hobbies_count);
for (int i = 0; i < hobbies_count; i++) {
struct json_object* hobby_object = json_object_array_get_idx(hobbies_object, i);
printf("%d: %s\n", i + 1, json_object_get_string(hobby_object));
}
} else {
printf("Hobbies is not an array!\n");
}
} else {
printf("Cannot find key 'hobbies' in JSON data!\n");
}
json_object_put(json_object);
return 0;
}

上面這段代碼演示了如何獲取JSON數據中的

hobbies

數組。首先,需要將JSON字符串解析成JSON對象,使用json_tokener_parse函數就可以實現。接下來,通過json_object_object_get_ex函數獲取到

hobbies

對象,再用json_object_is_type函數判斷是否為數組類型,如果是,就可以計算數組長度,并且通過json_object_array_get_idx函數訪問數組元素。最后,記得釋放JSON對象的內存,調用json_object_put函數即可。