Run Code
|
API
|
Code Wall
|
Misc
|
Feedback
|
Login
|
Theme
|
Privacy
|
Patreon
Спарсить полученный в виде строки JSON в объект (Boost)
#include <cstdlib> #include <string> #include <boost/property_tree/ptree.hpp> #include <boost/property_tree/json_parser.hpp> int main() { std::string myString = "{\"id\":\"0001\",\"type\":\"donut\",\"name\":\"Cake\",\"image\":{\"url\":\"images/0001.jpg\",\"width\":200,\"height\":200},\"thumbnail\":{\"url\":\"images/thumbnails/0001.jpg\",\"width\":32,\"height\":32}}"; std::stringstream jsonEncodedData(myString); // Парсинг boost::property_tree::ptree rootHive; boost::property_tree::read_json(jsonEncodedData, rootHive); // МАНИПУЛЯЦИИ ///////////////////////////////////////////////////////////// // Добавить ключ-значение rootHive.put("nice", true); // Взять значение // .get("путь") по ум. возвращает ptree. В шаблоне можно указать, к какому типу привести возвр. значение std::cout << rootHive.get<std::string>("image.url") << std::endl; // Изменить (перезаписать) значение rootHive.put("image.width", 300); // ПРОВЕРКА //////////////////////////////////////////////////////////////// // Должен выводиться форматированный JSON. Такой, каким он представляется в объекте. std::stringstream myJsonEncodedData(myString); boost::property_tree::write_json(myJsonEncodedData, rootHive); std::cout << myJsonEncodedData.str() << std::endl; return EXIT_SUCCESS; }
run
|
edit
|
history
|
help
0
Dar
binder
StackQuiz
ADAKOHL - hpclearn
TraiectorieIdeala
Good morning
Metodos 2- programa3
diamond
star print1
RecursiveFact