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