Our great sponsors
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
simdjson
Parsing gigabytes of JSON per second : used by Facebook/Meta Velox, the Node.js runtime, ClickHouse, WatermelonDB, Apache Doris, Milvus, StarRocks
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
So DAW JSON Link does have a DOM view, however it does not have a owning view. The json_value(even supports JSON Path in a limited form) type and json_raw mappings can help here. But there is no hard line between parsing view the json_value and the mappings to concrete data structures. One can mix and match.
It's a header-only library, but it's not consisting of a single header file and also relies on some dependencies. This is not really an issue for me but some people might prefer things like nlohmann-json for this reason I guess.
In this regard, I really like how daw_json_link works: it directly converts the JSON string into/from your custom C++ data type, without needing to have an intermediate DOM representation (but you can do so as well if you really want). The interface for defining the JSON serialization/deserialization for your data type is non-intrusive, which is another plus point. Due to lack of reflection in C++ it still requires some boilerplate, but personally I think it is better than other options I tried in terms of convenience. Furthermore, it is possible to reduce this amount of boilerplate into minimum with the aid of Boost.Describe.
It seems not super widely used compared to other famous libraries like RapidJSON, nlohmann-json, or simdjson. But it seems the author is very active in developing this project which can mitigate this "lack of community" issue.
It seems not super widely used compared to other famous libraries like RapidJSON, nlohmann-json, or simdjson. But it seems the author is very active in developing this project which can mitigate this "lack of community" issue.
Not sure what the above is but you should check out spdlog. It's pretty great to use.
I like https://github.com/nlohmann/json as a cpp json library. I combine it with https://github.com/libcpr/cpr for jsonrpc. Also, I agree spdlog is great.
But it's still being fleshed out JSON RPC