Ответ 1
Используйте итераторы, Люк.
Сначала вы должны проанализировать файл:
boost::property_tree::ptree doc;
boost::property_tree::read_json("input_file.json", doc);
... теперь, потому что кажется, что у вас несколько ключевых слов "frame" в словаре верхнего уровня, вы должны перебирать их:
BOOST_FOREACH (boost::property_tree::ptree::value_type& framePair, doc) {
// Now framePair.first == "frame" and framePair.second is the subtree frame dictionary
}
Итерация по строкам и столбцам одинакова:
BOOST_FOREACH (boost::property_tree::ptree::value_type& rowPair, frame.get_child("points")) {
// rowPair.first == ""
BOOST_FOREACH (boost::property_tree::ptree::value_type& itemPair, rowPair.second) {
cout << itemPair.second.get_value<std::string>() << " ";
}
cout << endl;
}
Я не тестировал код, но идея будет работать: -)