C++ boost propriété de l'arbre obtention de valeurs
J'ai essayé les 2 derniers jours, afin de savoir comment dois-je faire la chose suivante en C++:
J'ai une chaîne json:
[
{
"pid" : 0,
"nick":"Foo",
"score":12,
"ping":50
},
{
"pid":1,
"nick":"Bar",
"score":23,
"ping":24
}
]
Je veux itérer sur tous ces childs et mettre, par exemple, PlayerID valeurs dans un std::vector
afin que je puisse retourner tous.
Où je suis coincé ici:
//some code
boost::property_tree::ptree pt;
boost::property_tree::read_json(ss, pt);
std::vector<int> players;
int pid;
BOOST_FOREACH(boost::property_tree::ptree::value_type &v, pt.get_child("pid")) //I also tried with pt or pt.get_child("")
{
pid = v.second.data();
players.push_back(pid);
}
return players;
J'ai regardé la documentation, mais ne pouvait pas trouver quelque chose de bon. Aussi, j'ai essayé presque tout et si il compile sans erreurs, il me feriez quoi() attend un objet ou quelque chose comme ça. Je suis vraiment coincé, toute aide est très appréciée! Merci à l'avance.
OriginalL'auteur Tom Jenkins | 2013-06-13
Vous devez vous connecter pour publier un commentaire.
PropertyTree du support JSON n'a pas de type de données() renvoie toujours une chaîne de caractères.
La PTree que vous obtenez à partir de l'analyse de votre JSON doit consister en un nœud racine qui a un enfant sans nom pour chaque élément du tableau. Chacun de ces enfants a nommé quatre enfants pour les valeurs. Le code pour effectuer une itération, il devrait être:
Eh bien, de ce que mon manager me dit - "Version: 1.42.0".
Vous avez besoin 1.47 ou plus récent.
Vous pouvez peut-être lu de haut niveau tableaux maintenant, mais il ne veut toujours pas écrire correctement 🙁
Ah, c'est intéressant. Oui, ça pourrait être un problème.
OriginalL'auteur Sebastian Redl