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

c語言json數組 查找字符串6

阮建安2年前11瀏覽0評論

JSON數組是一種非常常見的數據類型,也是C語言中使用廣泛的數據類型之一。在JSON數組中查找特定字符串是一種常見的操作,下面我們將介紹C語言中如何查找JSON數組中的字符串。

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <jansson.h>
const char *json_array_str =
"[{\"name\":\"Jack\",\"age\":20,\"id\":123456},
{\"name\":\"Lucy\",\"age\":21,\"id\":456789},
{\"name\":\"Tom\",\"age\":22,\"id\":789012}]";
int main()
{
json_t *root;
json_error_t error;
root = json_loads(json_array_str, 0, &error);
if (!root) {
fprintf(stderr, "Failed to parse json: %s\n", error.text);
return 1;
}
size_t index;
json_t *value;
json_array_foreach(root, index, value) {
json_t *id = json_object_get(value, "id");
if (json_integer_value(id) == 456789) {
// 找到了id為456789的用戶,輸出其姓名和年齡
json_t *name = json_object_get(value, "name");
json_t *age = json_object_get(value, "age");
printf("%s, %d years old\n", json_string_value(name), json_integer_value(age));
break;
}
}
json_decref(root);
return 0;
}

上面的程序是一個簡單的JSON數組解析程序,它將一個JSON數組字符串轉換為一個json_t類型的對象,然后通過json_array_foreach函數遍歷數組中的每一個元素。對于每個元素,我們通過json_object_get函數獲取其屬性值,如果找到了id為456789的用戶,就輸出其姓名和年齡。請注意,我們使用了json_integer_value和json_string_value函數將屬性值轉換為int和char類型。

以上就是C語言中查找JSON數組中特定字符串的方法,希望對大家有所幫助。