Boost logo

Boost Users :

Subject: Re: [Boost-users] [property_tree] Parsing JSON
From: Olivier Tournaire (olitour_at_[hidden])
Date: 2010-12-31 06:30:40


Ok, thank you. I am however not familiar with Spirit. I was expected that thé parser works out of thé box. If you hAve a pièce of code it Will be really helpful

Regards

Olivier

Envoyé de mon iPhone

Le 29 déc. 2010 à 02:08, Brian Budge <brian.budge_at_[hidden]> a écrit :

> Hi -
>
> I don't have the code in front of me, but we had to modify the grammar for the JSON parser in boost property_tree in order to read top-level groups. If you're familiar with boost spirit, I think it's not too much work.
>
> Brian
>
> On Mon, Dec 27, 2010 at 11:14 AM, Olivier Tournaire <olitour_at_[hidden]> wrote:
> Hi all,
>
> I am currently trying to parse a JSON file, but cannot figure how to achieve this task (see for instance http://ax.itunes.apple.com/WebObjects/MZStoreServices.woa/wa/wsSearch?term=sudoku&entity=software&limit=1).
> Here is a piece of code:
>
> #ifndef ITUNES_JSON_STRUCTURE_HPP
> #define ITUNES_JSON_STRUCTURE_HPP
> #include <boost/property_tree/ptree.hpp>
> #include <string>
> class itunes_json_structure
> {
> public:
> void load(const std::string &filename);
> boost::property_tree::ptree m_ptree;
> };
> #endif // ITUNES_JASON_STRUCTURE_HPP
>
>
>
>
> #include "itunes_jason_structure.hpp"
>
>
>
>
>
> #include <boost/property_tree/json_parser.hpp>
>
>
>
>
>
> #include <iostream>
>
>
>
>
> using namespace std;
>
>
>
>
>
> void itunes_json_structure::load(const string &filename)
>
>
>
>
> {
>
> using boost::property_tree::ptree;
>
>
>
>
> try
>
> {
>
> // Load the JSON file into the property tree. If reading fails
>
>
>
>
> // (cannot open file, parse error), an exception is thrown.
>
>
>
>
> read_json(filename, m_ptree);
>
>
>
>
>
> cout << "resultCount = " << m_ptree.get<string>("resultCount") << endl;
>
>
>
>
> ptree all_results = m_ptree.get_child("results");
>
>
>
> // HERE!!! How can I read the content of the "results" node????
>
>
>
> }
>
> catch(exception &e)
>
>
>
>
> {
>
> throw e;
>
>
>
>
> }
>
> }
>
>
> I am unable to read the content of the "results" node. Could you please give me some help?
>
> Regards,
>
> Olivier
>
>
> _______________________________________________
> Boost-users mailing list
> Boost-users_at_[hidden]
> http://lists.boost.org/mailman/listinfo.cgi/boost-users
>
> _______________________________________________
> Boost-users mailing list
> Boost-users_at_[hidden]
> http://lists.boost.org/mailman/listinfo.cgi/boost-users



Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net