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

c 字符串轉換json對象數組中

傅智翔1年前8瀏覽0評論

C語言中經常需要將字符串轉換為JSON對象數組,這里介紹一種方法。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <jansson.h>
int main()
{
char *str = "[{\"name\":\"Tom\",\"age\":20},{\"name\":\"Jack\",\"age\":30}]";
json_error_t error;
json_t *root = json_loads(str, 0, &error);
if (!root)
{
printf("error: on line %d: %s\n", error.line, error.text);
return 1;
}
if (!json_is_array(root))
{
printf("error: root is not an array\n");
json_decref(root);
return 1;
}
size_t index;
json_t *value;
json_array_foreach(root, index, value)
{
if (!json_is_object(value))
{
printf("error: element %d is not an object\n", (int) index);
json_decref(root);
return 1;
}
const char *name;
json_t *age;
json_object_foreach(value, name, age)
{
if (!json_is_string(name) || !json_is_integer(age))
{
printf("error: object %d:name or age is not a string or integer\n", 
(int) index);
json_decref(root);
return 1;
}
printf("%s: %d\n", json_string_value(name), (int) json_integer_value(age));
}
}
json_decref(root);
return 0;
}