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

c讀取json列表每一個元素

林國瑞2年前8瀏覽0評論

在C語言中,讀取json列表的每個元素是非常常見的操作。以下是一個簡單的例子,說明如何使用C語言讀取json列表中的每個元素。

#include#include#include#includeint main(int argc, char **argv)
{
char *json_string =
"[{\"name\": \"Alice\", \"age\": 25}, {\"name\": \"Bob\", \"age\": 30}]";
struct json_object *json_obj, *json_item;
json_obj = json_tokener_parse(json_string);
if (!json_obj)
{
fprintf(stderr, "Error: Failed to parse json string");
return 1;
}
int i, array_len = json_object_array_length(json_obj);
for (i = 0; i< array_len; i++)
{
json_item = json_object_array_get_idx(json_obj, i);
printf("name: %s, age: %d\n",
json_object_get_string(json_object_object_get(json_item, "name")),
json_object_get_int(json_object_object_get(json_item, "age")));
}
json_object_put(json_obj);
return 0;
}

首先,我們得把json字符串解析成json_object對象,使用json_tokener_parse函數即可。

json_obj = json_tokener_parse(json_string);

解析成功后,我們需要遍歷數組中的每個元素。我們可以使用json_object_array_get_idx函數來獲取json對象中指定索引號的元素。

json_item = json_object_array_get_idx(json_obj, i);

我們可以使用json_object_object_get函數來獲取json對象中的屬性,如果屬性類型正確,就可以使用json_object_get_string或json_object_get_int函數來獲取屬性值。

printf("name: %s, age: %d\n",
json_object_get_string(json_object_object_get(json_item, "name")),
json_object_get_int(json_object_object_get(json_item, "age")));

處理完后,我們需要釋放資源。可以使用json_object_put函數來釋放json_object對象所占用的內存。

json_object_put(json_obj);

這就是使用C語言讀取json列表每個元素的基本操作。以上代碼可以在Linux或者Windows等平臺的gcc上編譯。