欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

c遍歷json數(shù)組結(jié)構(gòu)

老白2年前9瀏覽0評論

C語言是一門很實(shí)用的編程語言,可以用來處理很多數(shù)據(jù)結(jié)構(gòu),例如JSON數(shù)組。JSON數(shù)組是由多個(gè)JSON對象組成的有序的集合,我們可以使用C語言來遍歷這個(gè)數(shù)組。

//假定我們有以下JSON數(shù)組
{"students": [
{"name":"Tom", "age":18},
{"name":"Mary", "age":20},
{"name":"John", "age":19},
]}
//我們可以使用C語言來遍歷這個(gè)數(shù)組
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <jansson.h>
int main()
{
//先解析JSON數(shù)據(jù)
char *json_str = "{\"students\":[{\"name\":\"Tom\",\"age\":18},{\"name\":\"Mary\",\"age\":20},{\"name\":\"John\",\"age\":19}]}";
json_error_t error;
json_t *json = json_loads(json_str, 0, &error);
if (!json || !json_is_object(json))
{
printf("JSON格式有誤:%s\n", error.text);
}
else
{
//獲取students數(shù)組
json_t *students = json_object_get(json, "students");
if (!students || !json_is_array(students))
{
printf("找不到students數(shù)組\n");
}
else
{
//遍歷students數(shù)組
size_t index;
json_t *student;
json_array_foreach(students, index, student) {
if (json_is_object(student)) {
json_t* name = json_object_get(student, "name");
json_t* age = json_object_get(student, "age");
if (json_is_string(name) && json_is_integer(age)) {
printf("%s的年齡是%d\n", json_string_value(name), json_integer_value(age));
}
}
}
}
}
//釋放內(nèi)存
json_decref(json);
return 0;
}

上面的代碼可以解析一個(gè)JSON數(shù)組,并遍歷里面的對象,輸出每個(gè)學(xué)生的名字和年齡。這個(gè)例子展示了如何使用C語言來處理JSON數(shù)據(jù)。