Release 0.99.8
Changes
-
Visual Studio 2013 is no longer supported (jsonpath uses string initilizer lists)
-
json_input_handleroverloaded functions value(value,context)have been deprecated. Instead usestring_value(value,context),integer_value(value,context),uinteger_value(value,context),double_value(value,precision,context),bool_value(value,context)andnull_value(context)` -
json_output_handleroverloaded functions value(value)have been deprecated. Instead usestring_value(value),integer_value(value),uinteger_value(value),double_value(value,precision=0),bool_value(value)andnull_value(context)` -
For consistency, the names
jsoncons_ext/msgpack/message_pack.hpp,
encode_message_packanddecode_message_packhave been deprecated and
replaced withjsoncons_ext/msgpack/msgpack.hpp,encode_msgpackanddecode_msg_pack
Bug fixes
-
Fixed operator== throws when comparing a string against an empty object
-
Fixed jsonpath issue with array 'length' (a.length worked but not a['length'])
-
msgpackextension uses intrinsics for determing whether to swap bytes
New features
-
Stream supported C++ values directly to JSON output, governed by
json_stream_traits -
json::is() and json::as() accept template packs, which they forward to the
json_type_traitsisandasfunctions. This allows user definedjson_type_traits
implementations to resolve, for instance, a name into a C++ object looked up from a
registry. See Type Extensibility, Example 2. -
jsonpath
json_querynow supports returning normalized paths (with
optionalreturn_type::pathparameter) -
New jsonpath
maxandminaggregate functions over numeric values -
New
json::mergefunction that inserts another json object's key-value pairs
into a json object, if they don't already exist. -
New
json::merge_or_updatefunction that inserts another json object's key-value
pairs into a json object, or assigns them if they already exist.