我是在 Linux 中使用 libjson-c 的新手。 我有以下代码:
json_object* new_obj = json_tokener_parse("[{\"abc\": \"123\"}, {\"xyz\": \"456\"}]");
json_object_object_foreach(new_obj, key, val)
{
//Do nothing
}
但是遇到了段错误。
除此之外,下面的代码运行良好:
json_object* my_object = json_object_new_object();
json_object_object_add(my_object, "abc", json_object_new_int(12));
json_object_object_add(my_object, "foo", json_object_new_string("bar"));
json_object_object_add(my_object, "bool0", json_object_new_boolean(0));
json_object_object_add(my_object, "bool1", json_object_new_boolean(1));
json_object_object_add(my_object, "baz", json_object_new_string("bang"));
printf("my_object=\n");
json_object_object_foreach(new_obj, key, val)
{
printf("\t%s: %s\n", key, json_object_to_json_string(val));
}
请解释一下为什么? 提前致谢!
最佳答案
它在 json_object_object_foreach
行崩溃
我只是检查了一下,发现 json_object_object_foreach
仅适用于 json 对象,而不是数组。
关于c - libjson-c : json_object_object_foreach segmentation fault,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33561645/