我有YAJL解析我所包含的示例中给出的简单元素没有问题.(字符串,整数,数组......)
示例代码可以在这里找到:http://lloyd.github.io/yajl/yajl-2.0.1/example_2parse_config_8c-example.html
但现在我有这种类型的JSON对象:
{
"cmd":2,
"properties":
    [
        {
        "idx":40,
        "val":8813.602692
        },
        {
        "idx":41,
        "val":960
        },
        {
        "idx":42,
        "val":2
        },
        {
        "idx":48,
        "val":9
        }
    ]
Run Code Online (Sandbox Code Playgroud)
}
我可以检索命令(参见链接示例中使用的变量的定义):
const char * path[] = {"cmd", (const char *) 0 };
yajl_val v = yajl_tree_get(ynode, path, yajl_t_number);
if (v)
  *cmd = (commands)((int)YAJL_GET_INTEGER(v));
Run Code Online (Sandbox Code Playgroud)
我可以使用以下命令获取属性数组的引用:
int ar_sz;
const char * path[] = {"properties", (const char *) 0 };
yajl_val v = yajl_tree_get(ynode, path, yajl_t_array);
if (v)
  {
  ar_sz = v->u.array.len;
  }
Run Code Online (Sandbox Code Playgroud)
它给了我正确的数组大小,但我不知道如何从数组元素中检索嵌套元素idx和val.
非常感谢任何帮助