Release 0.99.8
Changes
-
Visual Studio 2013 is no longer supported (jsonpath uses string initilizer lists)
-
json_input_handler
overloaded functions value(value,context)have been deprecated. Instead use
string_value(value,context),
integer_value(value,context),
uinteger_value(value,context),
double_value(value,precision,context),
bool_value(value,context)and
null_value(context)` -
json_output_handler
overloaded functions value(value)have been deprecated. Instead use
string_value(value),
integer_value(value),
uinteger_value(value),
double_value(value,precision=0),
bool_value(value)and
null_value(context)` -
For consistency, the names
jsoncons_ext/msgpack/message_pack.hpp
,
encode_message_pack
anddecode_message_pack
have been deprecated and
replaced withjsoncons_ext/msgpack/msgpack.hpp
,encode_msgpack
anddecode_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'])
-
msgpack
extension 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_traits
is
andas
functions. 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_query
now supports returning normalized paths (with
optionalreturn_type::path
parameter) -
New jsonpath
max
andmin
aggregate functions over numeric values -
New
json::merge
function that inserts another json object's key-value pairs
into a json object, if they don't already exist. -
New
json::merge_or_update
function that inserts another json object's key-value
pairs into a json object, or assigns them if they already exist.