On 9/24/19 3:11 PM, Vinnie Falco via Boost wrote:
What we are missing, is a robust *container* for storing JSON values. Having a great container for representing all or part of a JSON document does make it easier to write interoperable library components that work with JSON. A library that implements the JSON-RPC [...] For this to work, boost::json::value needs to be a good general purpose JSON container that satisfies most users. We can never satisfy
In which case you may want to look at trial::dynamic::variable [1] which is a general-purpose container that supports fundamental types, strings, and nested containers and map of nested containers. Unlike a variant, the dynamic variable does not support custom types, but it means that it works with most standard algorithms. dynamic::variable is independent on JSON, but can be used as the parse tree for JSON and its binary cousins. It can also be used for other purposes such as configuration data. [1] http://breese.github.io/trial/protocol/trial_protocol/dynamic_variable.html