2012-04-02 53 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