2012-04-02 106 views
1
{ 
    "80550560": {"name":" HAdailton Cesar", "name2": "T-Max"}, 
    "5987810": {"name": "Adnax", "name2": "Adna Zaza"} 
} 

我有这个输入,我需要输出输入中的所有名称,但问题是我没有整数组织索引,我将不得不获取字符串编号,也不知道字符串文本索引将会是什么。循环浏览JSONCPP上的所有JSON文本索引项目

我会想象这样的事情,但我不知道如何从JsonCPP

res[string_text]["name"]; 
+0

什么类型是'res'?如果它是一个普通的'std :: map',那么就使用普通的迭代器。 – 2012-04-03 05:51:32

+0

不,它是“JSON :: Value”类型。 – Grego 2012-04-03 10:21:13

回答

5

使用getMemberNames得到“string_text”获取列表。

我敢肯定,有可能通过太迭代,但我一直选择使用`getMemberNames'

+1

有趣的是,没有getMembersName没有其他方式来迭代。我联系了JsoNCPP开发人员,以确保:D感谢您的解决方案 – Grego 2012-04-03 10:31:37

+0

谢谢。这将节省我再次寻找:) – hplbsh 2012-04-03 15:35:50

1

documentationJson::Value类,它具有迭代器功能像beginend,所以它应该可以像标准容器一样迭代值。

+0

是的,有这些,但事情是,你只能得到整数索引,因为它没有实际的迭代器。你必须使用for循环 – Grego 2012-04-03 10:33:21

+0

@Grego,请解释“没有实际的迭代器”,它们实际上拥有过去所有的迭代器语义(去引用,后缀增量等) – 2014-01-16 13:45:37