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

c 遍歷二維json

謝彥文1年前7瀏覽0評論

在C語言中,我們可以使用json-c庫來解析JSON數據。當JSON數據是二維結構時,我們需要遍歷整個數據來讀取每個元素的值。下面是一個使用json-c庫遍歷二維JSON的例子。

#include <stdio.h>
#include <json-c/json.h>
int main() {
char *json_string = "{\"students\": [{\"name\":\"Tom\", \"age\": 20, \"gpa\":3.5}, {\"name\":\"Jerry\", \"age\": 21, \"gpa\":3.2}]}";
struct json_object *json_obj, *students, *student, *name, *age, *gpa;
json_obj = json_tokener_parse(json_string);
json_object_object_get_ex(json_obj, "students", &students);
int i;
for (i = 0; i < json_object_array_length(students); i++) {
student = json_object_array_get_idx(students, i);
json_object_object_get_ex(student, "name", &name);
json_object_object_get_ex(student, "age", &age);
json_object_object_get_ex(student, "gpa", &gpa);
printf("Name: %s, Age: %d, GPA: %f\n", json_object_get_string(name), json_object_get_int(age), json_object_get_double(gpa));
}
json_object_put(json_obj);
return 0;
}

上述代碼可以輸出JSON數據中的每個學生的姓名、年齡、和GPA。首先,我們使用json_tokener_parse函數將JSON字符串轉換為json_object對象。然后,我們使用json_object_object_get_ex函數獲取二維JSON數據中的“students”數組。接著,我們遍歷這個數組,并對每個數組元素使用json_object_array_get_idx函數獲取學生的信息。最后,我們使用json_object_object_get_ex函數獲取每個學生的姓名、年齡和GPA,并使用json_object_get_string、json_object_get_int和json_object_get_double函數獲取這些值。

這是一個基本的遍歷二維JSON數據的例子。我們可以使用類似的方法來讀取其他類型的JSON數據。