我正在尝试使用此函数,因为我能够找到的唯一示例是此函数的弃用版本,它有两个参数。
较新的函数有三个,但是当我尝试运行编译时,我得到错误:取消引用指向不完整类型的指针
不推荐使用的函数:*jobj = json_object_object_get(jobj,key)
新功能:*jobj = json_object_object_get_ex(jobj,key,value)
我刚试过以下内容: json_object_get_string(json_object_object_get(new_obj,“foo”))
但是我收到了不推荐使用的错误消息。如果我使用了新功能,我需要知道'价值'。但这就是重点,我只知道关键,我想提取价值。任何帮助将不胜感激,因为我无法找到除上述
以外的任何示例答案 0 :(得分:4)
我不确定您是否仍然需要此功能,但文档会与您获得的错误相符。不推荐json_object_object_get()
函数支持json_object_object_get_ex()
。
仔细查看函数参数:
json_bool json_object_object_get_ex (struct json_object *obj, const char *key,
struct json_object **value)
value
参数用于输出,而不是输入。您提供json_object*
的地址(或指针),该函数用返回值填充它。例如:
json_object* f(json_object* rootObj, const char* key)
{
json_object* returnObj;
if (json_object_object_get_ex(rootObj, key, &returnObj)
{
return returnObj;
}
return NULL;
}