boost: Iteriere einfach über Elemente eines ptree

8

Das sollte einfach sein (ich lerne nur Boost, damit mir etwas fehlt)

Ich habe ein paar einfache JSON mit json_read eingelesen und habe jetzt einen ptree. Alle Beispiele im Web zeigen mit ptree.get ("entry_name") einen Eintrag an. Alles was ich tun möchte ist etwas wie:

%Vor%

d. Schleife durch den ptree und schreibe jeden Namen (d. h. was du in pt.get () geschrieben hast) und es ist der entsprechende Wert.

Tut mir leid, wenn das einfach ist

Ross

    
Ross W 14.04.2011, 14:24
quelle

4 Antworten

13

Ich habe dasselbe gesucht und konnte die Antwort nirgends finden. Es stellte sich in der Tat als ziemlich einfach heraus:

%Vor%

iter- & gt; first ist der Eintragsname und iter- & gt; second.data () ist der Eintragswert der ersten Ebene. (Sie können dann mit iter- & gt; second.begin () / end () für tiefere Ebenen wiederholen.)

Wenn außerdem ein solcher Knoten in dieser Iteration kein Endknoten ist und selbst ein ptree ist, können Sie das als ptree von diesem Iterator selbst erhalten: ptree subPt = iter- & gt; second.get_child ("Knotenname");

Danke, dass Sie mir eine Anleitung gegeben haben, um es zu verstehen, ptree sieht jetzt sehr intuitiv aus wie andere C ++ stl-Funktionen.

    
mr_georg 23.05.2012 14:35
quelle
2

Ich habe auch Probleme mit ptree, aber vielleicht kann das helfen: Sehen Sie sich boost's ptree-Kurzanleitung

an
  

v. {Eintragsname}
  wäre ich   v.erstes

und

  

v. {Wert}
  v.second.data ()

Würde das funktionieren?

    
Sam 18.07.2011 15:30
quelle
0

Hier ist ein großartiges Beispiel, wie man einen ptree mit BOOST_FOREACH iteriert Ссылка

für direkten Zugriff mit den normalen "get" -Funktionen schauen Sie sich das Beispiel von boost an: Ссылка

Die Dokumentationsseite befindet sich hier: Ссылка Ich weiß es ist nicht sehr gut dokumentiert, aber es ist hilfreich.

    
Alex 05.11.2012 09:38
quelle
0

Dieses Beispiel iteriert über ein einfaches JSON-Objekt und legt seine Werte in einen Vektor.

%Vor%     
xinthose 24.03.2017 03:51
quelle

Tags und Links