Template
|
namespace for Niels Lohmann More...
#include <json.hpp>
Inherits nlohmann::detail::json_base_class< void >.
Public Types | |
using | value_t = detail::value_t |
using | json_pointer = ::nlohmann::json_pointer< StringType > |
JSON Pointer, see nlohmann::json_pointer. | |
template<typename T , typename SFINAE > | |
using | json_serializer = JSONSerializer< T, SFINAE > |
using | error_handler_t = detail::error_handler_t |
how to treat decoding errors | |
using | cbor_tag_handler_t = detail::cbor_tag_handler_t |
how to treat CBOR tags | |
using | initializer_list_t = std::initializer_list< detail::json_ref< basic_json > > |
helper type for initializer lists of basic_json values | |
using | input_format_t = detail::input_format_t |
using | json_sax_t = json_sax< basic_json > |
SAX interface type, see nlohmann::json_sax. | |
using | parse_event_t = detail::parse_event_t |
parser event types | |
using | parser_callback_t = detail::parser_callback_t< basic_json > |
per-element parser callback type | |
Public Member Functions | |
JSON_HEDLEY_RETURNS_NON_NULL const char * | type_name () const noexcept |
return the type as string | |
data (const value_t v) | |
data (size_type cnt, const basic_json &val) | |
data () noexcept=default | |
data (data &&) noexcept=default | |
data (const data &) noexcept=delete | |
data & | operator= (data &&) noexcept=delete |
data & | operator= (const data &) noexcept=delete |
~data () noexcept | |
Static Public Member Functions | |
static allocator_type | get_allocator () |
returns the allocator associated with the container | |
static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json | meta () |
returns version information on the library | |
JSON_PRIVATE_UNLESS_TESTED const_reference bool static SAX bool | sax_parse (InputType &&i, SAX *sax, input_format_t format=input_format_t::json, const bool strict=true, const bool ignore_comments=false) |
template<class IteratorType , class SAX > | |
static bool | sax_parse (IteratorType first, IteratorType last, SAX *sax, input_format_t format=input_format_t::json, const bool strict=true, const bool ignore_comments=false) |
generate SAX events | |
template<typename SAX > | |
static bool | sax_parse (detail::span_input_adapter &&i, SAX *sax, input_format_t format=input_format_t::json, const bool strict=true, const bool ignore_comments=false) |
generate SAX events | |
Public Attributes | |
JSON_PRIVATE_UNLESS_TESTED | : struct data { value_t m_type = value_t::null |
json_value | m_value = {} |
the value of the current element | |
data | m_data = {} |
Friends | |
template<detail::value_t > | |
struct | detail::external_constructor |
template<typename > | |
class | ::nlohmann::json_pointer |
template<typename BasicJsonType , typename InputType > | |
class | ::nlohmann::detail::parser |
template<typename BasicJsonType > | |
class | ::nlohmann::detail::iter_impl |
template<typename BasicJsonType , typename CharType > | |
class | ::nlohmann::detail::binary_writer |
template<typename BasicJsonType , typename InputType , typename SAX > | |
class | ::nlohmann::detail::binary_reader |
template<typename BasicJsonType > | |
class | ::nlohmann::detail::json_sax_dom_parser |
template<typename BasicJsonType > | |
class | ::nlohmann::detail::json_sax_dom_callback_parser |
class | ::nlohmann::detail::exception |
std::istream & | operator<< (basic_json &j, std::istream &i) |
deserialize from stream | |
std::istream & | operator>> (std::istream &i, basic_json &j) |
deserialize from stream | |
element access | |
Access to the JSON value. | |
reference | at (size_type idx) |
access specified array element with bounds checking | |
const_reference | at (size_type idx) const |
access specified array element with bounds checking | |
reference | at (const typename object_t::key_type &key) |
access specified object element with bounds checking | |
template<class KeyType , detail::enable_if_t< detail::is_usable_as_basic_json_key_type< basic_json_t, KeyType >::value, int > = 0> | |
reference | at (KeyType &&key) |
access specified object element with bounds checking | |
const_reference | at (const typename object_t::key_type &key) const |
access specified object element with bounds checking | |
template<class KeyType , detail::enable_if_t< detail::is_usable_as_basic_json_key_type< basic_json_t, KeyType >::value, int > = 0> | |
const_reference | at (KeyType &&key) const |
access specified object element with bounds checking | |
reference | operator[] (size_type idx) |
access specified array element | |
const_reference | operator[] (size_type idx) const |
access specified array element | |
reference | operator[] (typename object_t::key_type key) |
access specified object element | |
const_reference | operator[] (const typename object_t::key_type &key) const |
access specified object element | |
template<typename T > | |
reference | operator[] (T *key) |
template<typename T > | |
const_reference | operator[] (T *key) const |
template<class KeyType , detail::enable_if_t< detail::is_usable_as_basic_json_key_type< basic_json_t, KeyType >::value, int > = 0> | |
reference | operator[] (KeyType &&key) |
access specified object element | |
template<class KeyType , detail::enable_if_t< detail::is_usable_as_basic_json_key_type< basic_json_t, KeyType >::value, int > = 0> | |
const_reference | operator[] (KeyType &&key) const |
access specified object element | |
template<class ValueType , detail::enable_if_t< !detail::is_transparent< object_comparator_t >::value &&detail::is_getable< basic_json_t, ValueType >::value &&!std::is_same< value_t, detail::uncvref_t< ValueType > >::value, int > = 0> | |
ValueType | value (const typename object_t::key_type &key, const ValueType &default_value) const |
access specified object element with default value | |
template<class ValueType , class ReturnType = typename value_return_type<ValueType>::type, detail::enable_if_t< !detail::is_transparent< object_comparator_t >::value &&detail::is_getable< basic_json_t, ReturnType >::value &&!std::is_same< value_t, detail::uncvref_t< ValueType > >::value, int > = 0> | |
ReturnType | value (const typename object_t::key_type &key, ValueType &&default_value) const |
access specified object element with default value | |
template<class ValueType , class KeyType , detail::enable_if_t< detail::is_transparent< object_comparator_t >::value &&!detail::is_json_pointer< KeyType >::value &&is_comparable_with_object_key< KeyType >::value &&detail::is_getable< basic_json_t, ValueType >::value &&!std::is_same< value_t, detail::uncvref_t< ValueType > >::value, int > = 0> | |
ValueType | value (KeyType &&key, const ValueType &default_value) const |
access specified object element with default value | |
template<class ValueType , class KeyType , class ReturnType = typename value_return_type<ValueType>::type, detail::enable_if_t< detail::is_transparent< object_comparator_t >::value &&!detail::is_json_pointer< KeyType >::value &&is_comparable_with_object_key< KeyType >::value &&detail::is_getable< basic_json_t, ReturnType >::value &&!std::is_same< value_t, detail::uncvref_t< ValueType > >::value, int > = 0> | |
ReturnType | value (KeyType &&key, ValueType &&default_value) const |
access specified object element via JSON Pointer with default value | |
template<class ValueType , detail::enable_if_t< detail::is_getable< basic_json_t, ValueType >::value &&!std::is_same< value_t, detail::uncvref_t< ValueType > >::value, int > = 0> | |
ValueType | value (const json_pointer &ptr, const ValueType &default_value) const |
access specified object element via JSON Pointer with default value | |
template<class ValueType , class ReturnType = typename value_return_type<ValueType>::type, detail::enable_if_t< detail::is_getable< basic_json_t, ReturnType >::value &&!std::is_same< value_t, detail::uncvref_t< ValueType > >::value, int > = 0> | |
ReturnType | value (const json_pointer &ptr, ValueType &&default_value) const |
access specified object element via JSON Pointer with default value | |
template<class ValueType , class BasicJsonType , detail::enable_if_t< detail::is_basic_json< BasicJsonType >::value &&detail::is_getable< basic_json_t, ValueType >::value &&!std::is_same< value_t, detail::uncvref_t< ValueType > >::value, int > = 0> | |
ValueType | value (const ::nlohmann::json_pointer< BasicJsonType > &ptr, const ValueType &default_value) const |
template<class ValueType , class BasicJsonType , class ReturnType = typename value_return_type<ValueType>::type, detail::enable_if_t< detail::is_basic_json< BasicJsonType >::value &&detail::is_getable< basic_json_t, ReturnType >::value &&!std::is_same< value_t, detail::uncvref_t< ValueType > >::value, int > = 0> | |
ReturnType | value (const ::nlohmann::json_pointer< BasicJsonType > &ptr, ValueType &&default_value) const |
reference | front () |
access the first element | |
const_reference | front () const |
access the first element | |
reference | back () |
access the last element | |
const_reference | back () const |
access the last element | |
template<class IteratorType , detail::enable_if_t< std::is_same< IteratorType, typename basic_json_t::iterator >::value||std::is_same< IteratorType, typename basic_json_t::const_iterator >::value, int > = 0> | |
IteratorType | erase (IteratorType pos) |
remove element given an iterator | |
template<class IteratorType , detail::enable_if_t< std::is_same< IteratorType, typename basic_json_t::iterator >::value||std::is_same< IteratorType, typename basic_json_t::const_iterator >::value, int > = 0> | |
IteratorType | erase (IteratorType first, IteratorType last) |
remove elements given an iterator range | |
size_type | erase (const typename object_t::key_type &key) |
remove element from a JSON object given a key | |
template<class KeyType , detail::enable_if_t< detail::is_usable_as_basic_json_key_type< basic_json_t, KeyType >::value, int > = 0> | |
size_type | erase (KeyType &&key) |
remove element from a JSON object given a key | |
void | erase (const size_type idx) |
remove element from a JSON array given an index | |
exceptions | |
Classes to implement user-defined exceptions. | |
using | exception = detail::exception |
using | parse_error = detail::parse_error |
using | invalid_iterator = detail::invalid_iterator |
using | type_error = detail::type_error |
using | out_of_range = detail::out_of_range |
using | other_error = detail::other_error |
container types | |
The canonic container types to use basic_json like any other STL container. | |
using | value_type = basic_json |
the type of elements in a basic_json container | |
using | reference = value_type & |
the type of an element reference | |
using | const_reference = const value_type & |
the type of an element const reference | |
using | difference_type = std::ptrdiff_t |
a type to represent differences between iterators | |
using | size_type = std::size_t |
a type to represent container sizes | |
using | allocator_type = AllocatorType< basic_json > |
the allocator type | |
using | pointer = typename std::allocator_traits< allocator_type >::pointer |
the type of an element pointer | |
using | const_pointer = typename std::allocator_traits< allocator_type >::const_pointer |
the type of an element const pointer | |
using | iterator = iter_impl< basic_json > |
an iterator for a basic_json container | |
using | const_iterator = iter_impl< const basic_json > |
a const iterator for a basic_json container | |
using | reverse_iterator = json_reverse_iterator< typename basic_json::iterator > |
a reverse iterator for a basic_json container | |
using | const_reverse_iterator = json_reverse_iterator< typename basic_json::const_iterator > |
a const reverse iterator for a basic_json container | |
JSON value data types | |
The data types to store a JSON value. These types are derived from the template arguments passed to class basic_json. | |
using | default_object_comparator_t = std::less< StringType > |
default object key comparator type The actual object key comparator type (object_comparator_t) may be different. | |
using | object_t = ObjectType< StringType, basic_json, default_object_comparator_t, AllocatorType< std::pair< const StringType, basic_json > > > |
a type for an object | |
using | array_t = ArrayType< basic_json, AllocatorType< basic_json > > |
a type for an array | |
using | string_t = StringType |
a type for a string | |
using | boolean_t = BooleanType |
a type for a boolean | |
using | number_integer_t = NumberIntegerType |
a type for a number (integer) | |
using | number_unsigned_t = NumberUnsignedType |
a type for a number (unsigned) | |
using | number_float_t = NumberFloatType |
a type for a number (floating-point) | |
using | binary_t = nlohmann::byte_container_with_subtype< BinaryType > |
a type for a packed binary type | |
using | object_comparator_t = detail::actual_object_comparator_t< basic_json > |
object key comparator type | |
modifiers | |
void | swap (reference left, reference right) noexcept(std::is_nothrow_move_constructible< value_t >::value &&std::is_nothrow_move_assignable< value_t >::value &&std::is_nothrow_move_constructible< json_value >::value &&std::is_nothrow_move_assignable< json_value >::value) |
exchanges the values | |
void | clear () noexcept |
clears the contents | |
void | push_back (basic_json &&val) |
add an object to an array | |
reference | operator+= (basic_json &&val) |
add an object to an array | |
void | push_back (const basic_json &val) |
add an object to an array | |
reference | operator+= (const basic_json &val) |
add an object to an array | |
void | push_back (const typename object_t::value_type &val) |
add an object to an object | |
reference | operator+= (const typename object_t::value_type &val) |
add an object to an object | |
void | push_back (initializer_list_t init) |
add an object to an object | |
reference | operator+= (initializer_list_t init) |
add an object to an object | |
template<class... Args> | |
reference | emplace_back (Args &&... args) |
add an object to an array | |
template<class... Args> | |
std::pair< iterator, bool > | emplace (Args &&... args) |
add an object to an object if key does not exist | |
template<typename... Args> | |
iterator | insert_iterator (const_iterator pos, Args &&... args) |
iterator | insert (const_iterator pos, const basic_json &val) |
inserts element into array | |
iterator | insert (const_iterator pos, basic_json &&val) |
inserts element into array | |
iterator | insert (const_iterator pos, size_type cnt, const basic_json &val) |
inserts copies of element into array | |
iterator | insert (const_iterator pos, const_iterator first, const_iterator last) |
inserts range of elements into array | |
iterator | insert (const_iterator pos, initializer_list_t ilist) |
inserts elements from initializer list into array | |
void | insert (const_iterator first, const_iterator last) |
inserts range of elements into object | |
void | update (const_reference j, bool merge_objects=false) |
updates a JSON object from another object, overwriting existing keys | |
void | update (const_iterator first, const_iterator last, bool merge_objects=false) |
updates a JSON object from another object, overwriting existing keys | |
void | swap (reference other) noexcept(std::is_nothrow_move_constructible< value_t >::value &&std::is_nothrow_move_assignable< value_t >::value &&std::is_nothrow_move_constructible< json_value >::value &&std::is_nothrow_move_assignable< json_value >::value) |
exchanges the values | |
void | swap (array_t &other) |
exchanges the values | |
void | swap (object_t &other) |
exchanges the values | |
void | swap (string_t &other) |
exchanges the values | |
void | swap (binary_t &other) |
exchanges the values | |
void | swap (typename binary_t::container_type &other) |
exchanges the values | |
lexicographical comparison operators | |
JSON_PRIVATE_UNLESS_TESTED | : static bool compares_unordered(const_reference lhs |
JSON_PRIVATE_UNLESS_TESTED const_reference | rhs |
JSON_PRIVATE_UNLESS_TESTED const_reference bool | inverse |
value access | |
Direct access to the stored value of a JSON value. | |
template<typename PointerType , typename std::enable_if< std::is_pointer< PointerType >::value, int >::type = 0> | |
auto | get_ptr () noexcept -> decltype(std::declval< basic_json_t & >().get_impl_ptr(std::declval< PointerType >())) |
get a pointer value (implicit) | |
template<typename PointerType , typename std::enable_if< std::is_pointer< PointerType >::value &&std::is_const< typename std::remove_pointer< PointerType >::type >::value, int >::type = 0> | |
constexpr auto | get_ptr () const noexcept -> decltype(std::declval< const basic_json_t & >().get_impl_ptr(std::declval< PointerType >())) |
get a pointer value (implicit) | |
template<typename ValueTypeCV , typename ValueType = detail::uncvref_t<ValueTypeCV>> | |
auto | get () const noexcept(noexcept(std::declval< const basic_json_t & >().template get_impl< ValueType >(detail::priority_tag< 4 > {}))) -> decltype(std::declval< const basic_json_t & >().template get_impl< ValueType >(detail::priority_tag< 4 > {})) |
get a (pointer) value (explicit) | |
template<typename PointerType , typename std::enable_if< std::is_pointer< PointerType >::value, int >::type = 0> | |
auto | get () noexcept -> decltype(std::declval< basic_json_t & >().template get_ptr< PointerType >()) |
get a pointer value (explicit) | |
template<typename ValueType , detail::enable_if_t< !detail::is_basic_json< ValueType >::value &&detail::has_from_json< basic_json_t, ValueType >::value, int > = 0> | |
ValueType & | get_to (ValueType &v) const noexcept(noexcept(JSONSerializer< ValueType >::from_json(std::declval< const basic_json_t & >(), v))) |
get a value (explicit) | |
template<typename ValueType , detail::enable_if_t< detail::is_basic_json< ValueType >::value, int > = 0> | |
ValueType & | get_to (ValueType &v) const |
template<typename T , std::size_t N, typename Array = T (&)[N], detail::enable_if_t< detail::has_from_json< basic_json_t, Array >::value, int > = 0> | |
Array | get_to (T(&v)[N]) const noexcept(noexcept(JSONSerializer< Array >::from_json(std::declval< const basic_json_t & >(), v))) |
template<typename ReferenceType , typename std::enable_if< std::is_reference< ReferenceType >::value, int >::type = 0> | |
ReferenceType | get_ref () |
get a reference value (implicit) | |
template<typename ReferenceType , typename std::enable_if< std::is_reference< ReferenceType >::value &&std::is_const< typename std::remove_reference< ReferenceType >::type >::value, int >::type = 0> | |
ReferenceType | get_ref () const |
get a reference value (implicit) | |
template<typename ValueType , typename std::enable_if< detail::conjunction< detail::negation< std::is_pointer< ValueType > >, detail::negation< std::is_same< ValueType, std::nullptr_t > >, detail::negation< std::is_same< ValueType, detail::json_ref< basic_json > > >, detail::negation< std::is_same< ValueType, typename string_t::value_type > >, detail::negation< detail::is_basic_json< ValueType > >, detail::negation< std::is_same< ValueType, std::initializer_list< typename string_t::value_type > > >, detail::is_detected_lazy< detail::get_template_function, const basic_json_t &, ValueType > >::value, int >::type = 0> | |
JSON_EXPLICIT | operator ValueType () const |
get a value (implicit) | |
binary_t & | get_binary () |
get a binary value | |
const binary_t & | get_binary () const |
get a binary value | |
constructors and destructors | |
Constructors of class basic_json, copy/move constructor, copy assignment, static functions creating objects, and the destructor. | |
static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json | binary (const typename binary_t::container_type &init) |
explicitly create a binary array (without subtype) | |
static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json | binary (const typename binary_t::container_type &init, typename binary_t::subtype_type subtype) |
explicitly create a binary array (with subtype) | |
static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json | binary (typename binary_t::container_type &&init) |
explicitly create a binary array | |
static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json | binary (typename binary_t::container_type &&init, typename binary_t::subtype_type subtype) |
explicitly create a binary array (with subtype) | |
static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json | array (initializer_list_t init={}) |
explicitly create an array from an initializer list | |
static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json | object (initializer_list_t init={}) |
explicitly create an object from an initializer list | |
basic_json (const value_t v) | |
create an empty value with a given type | |
basic_json (std::nullptr_t=nullptr) noexcept | |
create a null object | |
template<typename CompatibleType , typename U = detail::uncvref_t<CompatibleType>, detail::enable_if_t< !detail::is_basic_json< U >::value &&detail::is_compatible_type< basic_json_t, U >::value, int > = 0> | |
basic_json (CompatibleType &&val) noexcept(noexcept(//NOLINT(bugprone-forwarding-reference-overload, bugprone-exception-escape) JSONSerializer< U >::to_json(std::declval< basic_json_t & >(), std::forward< CompatibleType >(val)))) | |
create a JSON value from compatible types | |
template<typename BasicJsonType , detail::enable_if_t< detail::is_basic_json< BasicJsonType >::value &&!std::is_same< basic_json, BasicJsonType >::value, int > = 0> | |
basic_json (const BasicJsonType &val) | |
create a JSON value from an existing one | |
basic_json (initializer_list_t init, bool type_deduction=true, value_t manual_type=value_t::array) | |
create a container (array or object) from an initializer list | |
basic_json (size_type cnt, const basic_json &val) | |
construct an array with count copies of given value | |
template<class InputIT , typename std::enable_if< std::is_same< InputIT, typename basic_json_t::iterator >::value||std::is_same< InputIT, typename basic_json_t::const_iterator >::value, int >::type = 0> | |
basic_json (InputIT first, InputIT last) | |
construct a JSON container given an iterator range | |
template<typename JsonRef , detail::enable_if_t< detail::conjunction< detail::is_json_ref< JsonRef >, std::is_same< typename JsonRef::value_type, basic_json > >::value, int > = 0> | |
basic_json (const JsonRef &ref) | |
basic_json (const basic_json &other) | |
copy constructor | |
basic_json (basic_json &&other) noexcept | |
move constructor | |
basic_json & | operator= (basic_json other) noexcept(std::is_nothrow_move_constructible< value_t >::value &&std::is_nothrow_move_assignable< value_t >::value &&std::is_nothrow_move_constructible< json_value >::value &&std::is_nothrow_move_assignable< json_value >::value &&std::is_nothrow_move_assignable< json_base_class_t >::value) |
copy assignment | |
~basic_json () noexcept | |
destructor | |
iterators | |
static iteration_proxy< iterator > | iterator_wrapper (reference ref) noexcept |
wrapper to access iterator member functions in range-based for | |
static iteration_proxy< const_iterator > | iterator_wrapper (const_reference ref) noexcept |
wrapper to access iterator member functions in range-based for | |
iterator | begin () noexcept |
returns an iterator to the first element | |
const_iterator | begin () const noexcept |
returns an iterator to the first element | |
const_iterator | cbegin () const noexcept |
returns a const iterator to the first element | |
iterator | end () noexcept |
returns an iterator to one past the last element | |
const_iterator | end () const noexcept |
returns an iterator to one past the last element | |
const_iterator | cend () const noexcept |
returns an iterator to one past the last element | |
reverse_iterator | rbegin () noexcept |
returns an iterator to the reverse-beginning | |
const_reverse_iterator | rbegin () const noexcept |
returns an iterator to the reverse-beginning | |
reverse_iterator | rend () noexcept |
returns an iterator to the reverse-end | |
const_reverse_iterator | rend () const noexcept |
returns an iterator to the reverse-end | |
const_reverse_iterator | crbegin () const noexcept |
returns a const reverse iterator to the last element | |
const_reverse_iterator | crend () const noexcept |
returns a const reverse iterator to one before the first | |
iteration_proxy< iterator > | items () noexcept |
helper to access iterator member functions in range-based for | |
iteration_proxy< const_iterator > | items () const noexcept |
helper to access iterator member functions in range-based for | |
binary serialization/deserialization support | |
static std::vector< std::uint8_t > | to_cbor (const basic_json &j) |
create a CBOR serialization of a given JSON value | |
static void | to_cbor (const basic_json &j, detail::output_adapter< std::uint8_t > o) |
create a CBOR serialization of a given JSON value | |
static void | to_cbor (const basic_json &j, detail::output_adapter< char > o) |
create a CBOR serialization of a given JSON value | |
static std::vector< std::uint8_t > | to_msgpack (const basic_json &j) |
create a MessagePack serialization of a given JSON value | |
static void | to_msgpack (const basic_json &j, detail::output_adapter< std::uint8_t > o) |
create a MessagePack serialization of a given JSON value | |
static void | to_msgpack (const basic_json &j, detail::output_adapter< char > o) |
create a MessagePack serialization of a given JSON value | |
static std::vector< std::uint8_t > | to_ubjson (const basic_json &j, const bool use_size=false, const bool use_type=false) |
create a UBJSON serialization of a given JSON value | |
static void | to_ubjson (const basic_json &j, detail::output_adapter< std::uint8_t > o, const bool use_size=false, const bool use_type=false) |
create a UBJSON serialization of a given JSON value | |
static void | to_ubjson (const basic_json &j, detail::output_adapter< char > o, const bool use_size=false, const bool use_type=false) |
create a UBJSON serialization of a given JSON value | |
static std::vector< std::uint8_t > | to_bjdata (const basic_json &j, const bool use_size=false, const bool use_type=false) |
create a BJData serialization of a given JSON value | |
static void | to_bjdata (const basic_json &j, detail::output_adapter< std::uint8_t > o, const bool use_size=false, const bool use_type=false) |
create a BJData serialization of a given JSON value | |
static void | to_bjdata (const basic_json &j, detail::output_adapter< char > o, const bool use_size=false, const bool use_type=false) |
create a BJData serialization of a given JSON value | |
static std::vector< std::uint8_t > | to_bson (const basic_json &j) |
create a BSON serialization of a given JSON value | |
static void | to_bson (const basic_json &j, detail::output_adapter< std::uint8_t > o) |
create a BSON serialization of a given JSON value | |
static void | to_bson (const basic_json &j, detail::output_adapter< char > o) |
create a BSON serialization of a given JSON value | |
template<typename InputType > | |
static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json | from_cbor (InputType &&i, const bool strict=true, const bool allow_exceptions=true, const cbor_tag_handler_t tag_handler=cbor_tag_handler_t::error) |
create a JSON value from an input in CBOR format | |
template<typename IteratorType > | |
static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json | from_cbor (IteratorType first, IteratorType last, const bool strict=true, const bool allow_exceptions=true, const cbor_tag_handler_t tag_handler=cbor_tag_handler_t::error) |
create a JSON value from an input in CBOR format | |
template<typename T > | |
static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json | from_cbor (const T *ptr, std::size_t len, const bool strict=true, const bool allow_exceptions=true, const cbor_tag_handler_t tag_handler=cbor_tag_handler_t::error) |
static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json | from_cbor (detail::span_input_adapter &&i, const bool strict=true, const bool allow_exceptions=true, const cbor_tag_handler_t tag_handler=cbor_tag_handler_t::error) |
template<typename InputType > | |
static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json | from_msgpack (InputType &&i, const bool strict=true, const bool allow_exceptions=true) |
create a JSON value from an input in MessagePack format | |
template<typename IteratorType > | |
static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json | from_msgpack (IteratorType first, IteratorType last, const bool strict=true, const bool allow_exceptions=true) |
create a JSON value from an input in MessagePack format | |
template<typename T > | |
static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json | from_msgpack (const T *ptr, std::size_t len, const bool strict=true, const bool allow_exceptions=true) |
static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json | from_msgpack (detail::span_input_adapter &&i, const bool strict=true, const bool allow_exceptions=true) |
template<typename InputType > | |
static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json | from_ubjson (InputType &&i, const bool strict=true, const bool allow_exceptions=true) |
create a JSON value from an input in UBJSON format | |
template<typename IteratorType > | |
static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json | from_ubjson (IteratorType first, IteratorType last, const bool strict=true, const bool allow_exceptions=true) |
create a JSON value from an input in UBJSON format | |
template<typename T > | |
static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json | from_ubjson (const T *ptr, std::size_t len, const bool strict=true, const bool allow_exceptions=true) |
static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json | from_ubjson (detail::span_input_adapter &&i, const bool strict=true, const bool allow_exceptions=true) |
template<typename InputType > | |
static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json | from_bjdata (InputType &&i, const bool strict=true, const bool allow_exceptions=true) |
create a JSON value from an input in BJData format | |
template<typename IteratorType > | |
static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json | from_bjdata (IteratorType first, IteratorType last, const bool strict=true, const bool allow_exceptions=true) |
create a JSON value from an input in BJData format | |
template<typename InputType > | |
static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json | from_bson (InputType &&i, const bool strict=true, const bool allow_exceptions=true) |
create a JSON value from an input in BSON format | |
template<typename IteratorType > | |
static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json | from_bson (IteratorType first, IteratorType last, const bool strict=true, const bool allow_exceptions=true) |
create a JSON value from an input in BSON format | |
template<typename T > | |
static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json | from_bson (const T *ptr, std::size_t len, const bool strict=true, const bool allow_exceptions=true) |
static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json | from_bson (detail::span_input_adapter &&i, const bool strict=true, const bool allow_exceptions=true) |
JSON Patch functions | |
static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json | diff (const basic_json &source, const basic_json &target, const std::string &path="") |
creates a diff as a JSON patch | |
void | patch_inplace (const basic_json &json_patch) |
applies a JSON patch in-place without copying the object | |
basic_json | patch (const basic_json &json_patch) const |
applies a JSON patch to a copy of the current object | |
object inspection | |
Functions to inspect the type of a JSON value. | |
string_t | dump (const int indent=-1, const char indent_char=' ', const bool ensure_ascii=false, const error_handler_t error_handler=error_handler_t::strict) const |
serialization | |
constexpr value_t | type () const noexcept |
return the type of the JSON value (explicit) | |
constexpr bool | is_primitive () const noexcept |
return whether type is primitive | |
constexpr bool | is_structured () const noexcept |
return whether type is structured | |
constexpr bool | is_null () const noexcept |
return whether value is null | |
constexpr bool | is_boolean () const noexcept |
return whether value is a boolean | |
constexpr bool | is_number () const noexcept |
return whether value is a number | |
constexpr bool | is_number_integer () const noexcept |
return whether value is an integer number | |
constexpr bool | is_number_unsigned () const noexcept |
return whether value is an unsigned integer number | |
constexpr bool | is_number_float () const noexcept |
return whether value is a floating-point number | |
constexpr bool | is_object () const noexcept |
return whether value is an object | |
constexpr bool | is_array () const noexcept |
return whether value is an array | |
constexpr bool | is_string () const noexcept |
return whether value is a string | |
constexpr bool | is_binary () const noexcept |
return whether value is a binary array | |
constexpr bool | is_discarded () const noexcept |
return whether value is discarded | |
constexpr | operator value_t () const noexcept |
return the type of the JSON value (implicit) | |
lookup | |
iterator | find (const typename object_t::key_type &key) |
find an element in a JSON object | |
const_iterator | find (const typename object_t::key_type &key) const |
find an element in a JSON object | |
template<class KeyType , detail::enable_if_t< detail::is_usable_as_basic_json_key_type< basic_json_t, KeyType >::value, int > = 0> | |
iterator | find (KeyType &&key) |
find an element in a JSON object | |
template<class KeyType , detail::enable_if_t< detail::is_usable_as_basic_json_key_type< basic_json_t, KeyType >::value, int > = 0> | |
const_iterator | find (KeyType &&key) const |
find an element in a JSON object | |
size_type | count (const typename object_t::key_type &key) const |
returns the number of occurrences of a key in a JSON object | |
template<class KeyType , detail::enable_if_t< detail::is_usable_as_basic_json_key_type< basic_json_t, KeyType >::value, int > = 0> | |
size_type | count (KeyType &&key) const |
returns the number of occurrences of a key in a JSON object | |
bool | contains (const typename object_t::key_type &key) const |
check the existence of an element in a JSON object | |
template<class KeyType , detail::enable_if_t< detail::is_usable_as_basic_json_key_type< basic_json_t, KeyType >::value, int > = 0> | |
bool | contains (KeyType &&key) const |
check the existence of an element in a JSON object | |
bool | contains (const json_pointer &ptr) const |
check the existence of an element in a JSON object given a JSON pointer | |
template<typename BasicJsonType , detail::enable_if_t< detail::is_basic_json< BasicJsonType >::value, int > = 0> | |
bool | contains (const typename ::nlohmann::json_pointer< BasicJsonType > &ptr) const |
capacity | |
bool | empty () const noexcept |
checks whether the container is empty. | |
size_type | size () const noexcept |
returns the number of elements | |
size_type | max_size () const noexcept |
returns the maximum possible number of elements | |
JSON Pointer functions | |
reference | operator[] (const json_pointer &ptr) |
access specified element via JSON Pointer | |
template<typename BasicJsonType , detail::enable_if_t< detail::is_basic_json< BasicJsonType >::value, int > = 0> | |
reference | operator[] (const ::nlohmann::json_pointer< BasicJsonType > &ptr) |
const_reference | operator[] (const json_pointer &ptr) const |
access specified element via JSON Pointer | |
template<typename BasicJsonType , detail::enable_if_t< detail::is_basic_json< BasicJsonType >::value, int > = 0> | |
const_reference | operator[] (const ::nlohmann::json_pointer< BasicJsonType > &ptr) const |
reference | at (const json_pointer &ptr) |
access specified element via JSON Pointer | |
template<typename BasicJsonType , detail::enable_if_t< detail::is_basic_json< BasicJsonType >::value, int > = 0> | |
reference | at (const ::nlohmann::json_pointer< BasicJsonType > &ptr) |
const_reference | at (const json_pointer &ptr) const |
access specified element via JSON Pointer | |
template<typename BasicJsonType , detail::enable_if_t< detail::is_basic_json< BasicJsonType >::value, int > = 0> | |
const_reference | at (const ::nlohmann::json_pointer< BasicJsonType > &ptr) const |
basic_json | flatten () const |
return flattened JSON value | |
basic_json | unflatten () const |
unflatten a previously flattened JSON value | |
JSON Merge Patch functions | |
void | merge_patch (const basic_json &apply_patch) |
applies a JSON Merge Patch | |
namespace for Niels Lohmann
a class to store JSON values
a class to store JSON values
m_type == value_t::object
, then m_value.object != nullptr
.m_type == value_t::array
, then m_value.array != nullptr
.m_type == value_t::string
, then m_value.string != nullptr
. The invariants are checked by member function assert_invariant().using basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::allocator_type = AllocatorType<basic_json> |
using basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::array_t = ArrayType<basic_json, AllocatorType<basic_json> > |
a type for an array
using basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::binary_t = nlohmann::byte_container_with_subtype<BinaryType> |
a type for a packed binary type
using basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::boolean_t = BooleanType |
a type for a boolean
using basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::cbor_tag_handler_t = detail::cbor_tag_handler_t |
using basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::const_iterator = iter_impl<const basic_json> |
a const iterator for a basic_json container
using basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::const_pointer = typename std::allocator_traits<allocator_type>::const_pointer |
using basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::const_reference = const value_type& |
using basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::const_reverse_iterator = json_reverse_iterator<typename basic_json::const_iterator> |
a const reverse iterator for a basic_json container
using basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::default_object_comparator_t = std::less<StringType> |
default object key comparator type The actual object key comparator type (object_comparator_t) may be different.
using basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::difference_type = std::ptrdiff_t |
using basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::error_handler_t = detail::error_handler_t |
using basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::exception = detail::exception |
using basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::initializer_list_t = std::initializer_list<detail::json_ref<basic_json> > |
helper type for initializer lists of basic_json values
using basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::input_format_t = detail::input_format_t |
using basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::invalid_iterator = detail::invalid_iterator |
using basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::iterator = iter_impl<basic_json> |
an iterator for a basic_json container
using basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::json_pointer = ::nlohmann::json_pointer<StringType> |
using basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::json_sax_t = json_sax<basic_json> |
using basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::json_serializer = JSONSerializer<T, SFINAE> |
using basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::number_float_t = NumberFloatType |
a type for a number (floating-point)
using basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::number_integer_t = NumberIntegerType |
a type for a number (integer)
using basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::number_unsigned_t = NumberUnsignedType |
a type for a number (unsigned)
using basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::object_comparator_t = detail::actual_object_comparator_t<basic_json> |
object key comparator type
using basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::object_t = ObjectType<StringType, basic_json, default_object_comparator_t, AllocatorType<std::pair<const StringType, basic_json> >> |
a type for an object
using basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::other_error = detail::other_error |
using basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::out_of_range = detail::out_of_range |
using basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::parse_error = detail::parse_error |
using basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::parse_event_t = detail::parse_event_t |
parser event types
using basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::parser_callback_t = detail::parser_callback_t<basic_json> |
per-element parser callback type
using basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::pointer = typename std::allocator_traits<allocator_type>::pointer |
using basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::reference = value_type& |
using basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::reverse_iterator = json_reverse_iterator<typename basic_json::iterator> |
a reverse iterator for a basic_json container
using basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::size_type = std::size_t |
using basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::string_t = StringType |
a type for a string
using basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::type_error = detail::type_error |
using basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::value_t = detail::value_t |
using basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::value_type = basic_json |
the type of elements in a basic_json container
|
inline |
create an empty value with a given type
|
inlinenoexcept |
create a null object
|
inlinenoexcept |
create a JSON value from compatible types
|
inline |
create a JSON value from an existing one
|
inline |
create a container (array or object) from an initializer list
|
inline |
construct an array with count copies of given value
|
inline |
construct a JSON container given an iterator range
|
inline |
|
inline |
copy constructor
|
inlinenoexcept |
move constructor
|
inlinenoexcept |
destructor
|
inlinenoexcept |
|
inlinestatic |
explicitly create an array from an initializer list
|
inline |
|
inline |
|
inline |
access specified element via JSON Pointer
|
inline |
access specified element via JSON Pointer
|
inline |
access specified object element with bounds checking
|
inline |
access specified object element with bounds checking
|
inline |
access specified object element with bounds checking
|
inline |
access specified object element with bounds checking
|
inline |
access specified array element with bounds checking
|
inline |
access specified array element with bounds checking
|
inline |
access the last element
|
inline |
access the last element
|
inlinenoexcept |
returns an iterator to the first element
|
inlinenoexcept |
returns an iterator to the first element
|
inlinestatic |
explicitly create a binary array (without subtype)
|
inlinestatic |
explicitly create a binary array (with subtype)
|
inlinestatic |
explicitly create a binary array
|
inlinestatic |
explicitly create a binary array (with subtype)
|
inlinenoexcept |
returns a const iterator to the first element
|
inlinenoexcept |
returns an iterator to one past the last element
|
inlinenoexcept |
clears the contents
|
inline |
check the existence of an element in a JSON object given a JSON pointer
|
inline |
|
inline |
check the existence of an element in a JSON object
|
inline |
check the existence of an element in a JSON object
|
inline |
returns the number of occurrences of a key in a JSON object
|
inline |
returns the number of occurrences of a key in a JSON object
|
inlinenoexcept |
returns a const reverse iterator to the last element
|
inlinenoexcept |
returns a const reverse iterator to one before the first
|
defaultnoexcept |
|
deletenoexcept |
|
inline |
|
defaultnoexcept |
|
inline |
|
inlinestatic |
creates a diff as a JSON patch
|
inline |
serialization
|
inline |
add an object to an object if key does not exist
|
inline |
add an object to an array
|
inlinenoexcept |
checks whether the container is empty.
|
inlinenoexcept |
returns an iterator to one past the last element
|
inlinenoexcept |
returns an iterator to one past the last element
|
inline |
remove element from a JSON array given an index
|
inline |
remove element from a JSON object given a key
|
inline |
remove elements given an iterator range
|
inline |
remove element given an iterator
|
inline |
remove element from a JSON object given a key
|
inline |
find an element in a JSON object
|
inline |
find an element in a JSON object
|
inline |
find an element in a JSON object
|
inline |
find an element in a JSON object
|
inline |
return flattened JSON value
|
inlinestatic |
create a JSON value from an input in BJData format
|
inlinestatic |
create a JSON value from an input in BJData format
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
create a JSON value from an input in BSON format
|
inlinestatic |
create a JSON value from an input in BSON format
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
create a JSON value from an input in CBOR format
|
inlinestatic |
create a JSON value from an input in CBOR format
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
create a JSON value from an input in MessagePack format
|
inlinestatic |
create a JSON value from an input in MessagePack format
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
create a JSON value from an input in UBJSON format
|
inlinestatic |
create a JSON value from an input in UBJSON format
|
inline |
access the first element
|
inline |
access the first element
|
inlinenoexcept |
get a (pointer) value (explicit)
Performs explicit type conversion between the JSON value and a compatible value if required.
from_json()
method.ValueTypeCV | the provided value type |
ValueType | the returned value type |
ValueType | if necessary |
what | json_serializer<ValueType> from_json() method throws if conversion is required |
|
inlinenoexcept |
get a pointer value (explicit)
Explicit pointer access to the internally stored JSON value. No copies are made.
PointerType | pointer type; must be a pointer to array_t, object_t, string_t, boolean_t, number_integer_t, number_unsigned_t, or number_float_t. |
nullptr
otherwise@complexity Constant.
@liveexample{The example below shows how pointers to internal values of a JSON value can be requested. Note that no type conversions are made and a nullptr
is returned if the value and the requested pointer type does not match.,get__PointerType}
|
inlinestatic |
returns the allocator associated with the container
|
inline |
get a binary value
|
inline |
get a binary value
|
inlineconstexprnoexcept |
get a pointer value (implicit)
|
inlinenoexcept |
get a pointer value (implicit)
|
inline |
get a reference value (implicit)
|
inline |
get a reference value (implicit)
|
inlinenoexcept |
|
inline |
|
inlinenoexcept |
get a value (explicit)
|
inline |
inserts range of elements into object
|
inline |
inserts element into array
|
inline |
inserts element into array
|
inline |
inserts range of elements into array
|
inline |
inserts elements from initializer list into array
|
inline |
inserts copies of element into array
|
inline |
Helper for insertion of an iterator
|
inlineconstexprnoexcept |
return whether value is an array
|
inlineconstexprnoexcept |
return whether value is a binary array
|
inlineconstexprnoexcept |
return whether value is a boolean
|
inlineconstexprnoexcept |
return whether value is discarded
|
inlineconstexprnoexcept |
return whether value is null
|
inlineconstexprnoexcept |
return whether value is a number
|
inlineconstexprnoexcept |
return whether value is a floating-point number
|
inlineconstexprnoexcept |
return whether value is an integer number
|
inlineconstexprnoexcept |
return whether value is an unsigned integer number
|
inlineconstexprnoexcept |
return whether value is an object
|
inlineconstexprnoexcept |
return whether type is primitive
|
inlineconstexprnoexcept |
return whether value is a string
|
inlineconstexprnoexcept |
return whether type is structured
|
inlinenoexcept |
helper to access iterator member functions in range-based for
|
inlinenoexcept |
helper to access iterator member functions in range-based for
|
inlinestaticnoexcept |
wrapper to access iterator member functions in range-based for
json::iterator_wrapper(j)
with j.items()
.
|
inlinestaticnoexcept |
wrapper to access iterator member functions in range-based for
json::iterator_wrapper(j)
with j.items()
.
|
inlinenoexcept |
returns the maximum possible number of elements
|
inline |
applies a JSON Merge Patch
|
inlinestatic |
returns version information on the library
|
inlinestatic |
explicitly create an object from an initializer list
|
inlineconstexprnoexcept |
return the type of the JSON value (implicit)
|
inline |
get a value (implicit)
Implicit type conversion between the JSON value and a compatible value. The call is realized by calling get() const.
ValueType | non-pointer type compatible to the JSON value, for instance int for JSON integer numbers, bool for JSON booleans, or std::vector types for JSON arrays. The character type of string_t as well as an initializer list of this type is excluded to avoid ambiguities as these types implicitly convert to std::string . |
type_error.302 | in case passed type ValueType is incompatible to the JSON value type (e.g., the JSON value is of type boolean, but a string is requested); see example below |
@complexity Linear in the size of the JSON value.
@liveexample{The example below shows several conversions from JSON values to other types. There a few things to note: (1) Floating-point numbers can be converted to integers\, (2) A JSON array can be converted to a standard std::vector<short>
\, (3) A JSON object can be converted to C++ associative containers such as std::unordered_map<std::string\, json>
.,operator__ValueType}
|
inline |
add an object to an array
|
inline |
add an object to an array
|
inline |
add an object to an object
|
inline |
add an object to an object
|
inlinenoexcept |
copy assignment
|
deletenoexcept |
|
deletenoexcept |
|
inline |
|
inline |
|
inline |
access specified element via JSON Pointer
|
inline |
access specified element via JSON Pointer
|
inline |
access specified object element
|
inline |
access specified object element
|
inline |
access specified object element
|
inline |
access specified array element
|
inline |
access specified array element
|
inline |
|
inline |
|
inline |
access specified object element
|
inline |
applies a JSON patch to a copy of the current object
|
inline |
applies a JSON patch in-place without copying the object
|
inline |
add an object to an array
|
inline |
add an object to an array
|
inline |
add an object to an object
|
inline |
add an object to an object
|
inlinenoexcept |
returns an iterator to the reverse-beginning
|
inlinenoexcept |
returns an iterator to the reverse-beginning
|
inlinenoexcept |
returns an iterator to the reverse-end
|
inlinenoexcept |
returns an iterator to the reverse-end
|
inlinestatic |
generate SAX events
|
inlinestatic |
|
inlinestatic |
generate SAX events
|
inlinenoexcept |
returns the number of elements
|
inline |
exchanges the values
|
inline |
exchanges the values
|
inline |
exchanges the values
|
inlinenoexcept |
exchanges the values
|
inline |
exchanges the values
|
inline |
exchanges the values
|
inlinestatic |
create a BJData serialization of a given JSON value
|
inlinestatic |
create a BJData serialization of a given JSON value
|
inlinestatic |
create a BJData serialization of a given JSON value
|
inlinestatic |
create a BSON serialization of a given JSON value
|
inlinestatic |
create a BSON serialization of a given JSON value
|
inlinestatic |
create a BSON serialization of a given JSON value
|
inlinestatic |
create a CBOR serialization of a given JSON value
|
inlinestatic |
create a CBOR serialization of a given JSON value
|
inlinestatic |
create a CBOR serialization of a given JSON value
|
inlinestatic |
create a MessagePack serialization of a given JSON value
|
inlinestatic |
create a MessagePack serialization of a given JSON value
|
inlinestatic |
create a MessagePack serialization of a given JSON value
|
inlinestatic |
create a UBJSON serialization of a given JSON value
|
inlinestatic |
create a UBJSON serialization of a given JSON value
|
inlinestatic |
create a UBJSON serialization of a given JSON value
|
inlineconstexprnoexcept |
return the type of the JSON value (explicit)
|
inlinenoexcept |
return the type as string
|
inline |
unflatten a previously flattened JSON value
|
inline |
updates a JSON object from another object, overwriting existing keys
|
inline |
updates a JSON object from another object, overwriting existing keys
|
inline |
|
inline |
|
inline |
access specified object element via JSON Pointer with default value
|
inline |
access specified object element via JSON Pointer with default value
|
inline |
access specified object element with default value
|
inline |
access specified object element with default value
|
inline |
access specified object element with default value
|
inline |
access specified object element via JSON Pointer with default value
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
deserialize from stream
j << i;
with i >> j;
.
|
friend |
deserialize from stream
|
friend |
exchanges the values
JSON_PRIVATE_UNLESS_TESTED basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::__pad3__ |
JSON_PRIVATE_UNLESS_TESTED basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::__pad4__ |
JSON_PRIVATE_UNLESS_TESTED const_reference bool basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::inverse |
data basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::m_data = {} |
json_value basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::m_value = {} |
JSON_PRIVATE_UNLESS_TESTED const_reference basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::rhs |