[json] Using boost.json with boost.beast
Hi, Are there any samples of using boost.json to deserialize boost.beast responses? Thanks, Sean.
On Tue, 22 Dec 2020 at 21:21, Sean Farrow via Boost-users < boost-users@lists.boost.org> wrote:
Hi,
Are there any samples of using boost.json to deserialize boost.beast responses?
Not in the documentation of the two libraries as they are treated as separate self-contained concerns. However it’s quite trivial. The data() member of a flat_buffer contains a pointer and a size. Cast the pointer to const char * and use it and the size to construct a json::string_view.
From there you can call json::parse to get your json::value.
Thanks,
Sean. _______________________________________________ Boost-users mailing list Boost-users@lists.boost.org https://lists.boost.org/mailman/listinfo.cgi/boost-users
-- Richard Hodges hodges.r@gmail.com office: +442032898513 home: +376841522 mobile: +376380212
On Tue, 22 Dec 2020 at 21:25, Richard Hodges <hodges.r@gmail.com> wrote:
On Tue, 22 Dec 2020 at 21:21, Sean Farrow via Boost-users < boost-users@lists.boost.org> wrote:
Hi,
Are there any samples of using boost.json to deserialize boost.beast responses?
Not in the documentation of the two libraries as they are treated as separate self-contained concerns.
However it’s quite trivial.
Here's a simple example: extern void use_json(boost::json::value const& jv); void handle_read_text(boost::beast::flat_buffer& buf) { auto range = buf.data(); auto chars = boost::json::string_view( reinterpret_cast<const char*>(range.data()), range.size()); auto dom = boost::json::parse(chars); use_json(dom); } https://godbolt.org/z/bxcKea The maintainers of beast and json are always available on the cpplang slack, in channel #beast. The data() member of a flat_buffer contains a pointer and a size. Cast the
pointer to const char * and use it and the size to construct a json::string_view. From there you can call json::parse to get your json::value.
Thanks,
Sean. _______________________________________________ Boost-users mailing list Boost-users@lists.boost.org https://lists.boost.org/mailman/listinfo.cgi/boost-users
-- Richard Hodges hodges.r@gmail.com office: +442032898513 home: +376841522 mobile: +376380212
-- Richard Hodges hodges.r@gmail.com office: +442032898513 home: +376841522 mobile: +376380212
participants (2)
-
Richard Hodges
-
Sean Farrow