c - libjson-c : json_object_object_foreach segmentation fault

标签 c json

我是在 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/

相关文章:

java - 在 Android 中启动时更新一个 Activity 的多个 fragment

javascript - 来自 Json 的短 HTML 代码将显示 HTML 代码而不是呈现的版本

c - 在 C 中存储带有参数的函数指针

c - 如何将字节数组移动 12 位

c - 向后遍历具有随机开始和结束的数组

在 VirtualBox 上的 linux fedora 13 或 14 中编译 alsa + c + armv5tel

jquery - $.ajax 的成功回调无法正常工作

c - SSE/AVX vector 类型的差异

java - ElasticSearch Java API AggregationBuilder 过滤器/全局 "name"参数导致 JSON 格式错误

javascript - AngularJS 从外部 URL 获取 JSON 数据