[#nlohmann-basic_json-05] = xref:nlohmann.adoc[nlohmann]::xref:nlohmann/basic_json-00.adoc[basic_json]<> :relfileprefix: ../ :mrdocs: == Synopsis Declared in `<nlohmann/json.hpp>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<> class xref:nlohmann/basic_json-00.adoc[basic_json]<> : public nlohmann::detail::json_base_class<void> ---- == Base Classes [cols="1,4"] |=== |Name|Description | `nlohmann::detail::json_base_class<void>` | |=== == Types [cols="1,4"] |=== | Name| Description | xref:nlohmann/basic_json-05/allocator_type.adoc[`allocator_type`] | the allocator type | xref:nlohmann/basic_json-05/array_t.adoc[`array_t`] | a type for an array | xref:nlohmann/basic_json-05/binary_t.adoc[`binary_t`] | a type for a packed binary type | xref:nlohmann/basic_json-05/bjdata_version_t.adoc[`bjdata_version_t`] | how to encode BJData | xref:nlohmann/basic_json-05/boolean_t.adoc[`boolean_t`] | a type for a boolean | xref:nlohmann/basic_json-05/cbor_tag_handler_t.adoc[`cbor_tag_handler_t`] | how to treat CBOR tags | xref:nlohmann/basic_json-05/const_iterator.adoc[`const_iterator`] | a const iterator for a basic_json container | xref:nlohmann/basic_json-05/const_pointer.adoc[`const_pointer`] | the type of an element const pointer | xref:nlohmann/basic_json-05/const_reference.adoc[`const_reference`] | the type of an element const reference | xref:nlohmann/basic_json-05/const_reverse_iterator.adoc[`const_reverse_iterator`] | a const reverse iterator for a basic_json container | xref:nlohmann/basic_json-05/default_object_comparator_t.adoc[`default_object_comparator_t`] | | xref:nlohmann/basic_json-05/difference_type.adoc[`difference_type`] | a type to represent differences between iterators | xref:nlohmann/basic_json-05/error_handler_t.adoc[`error_handler_t`] | how to treat decoding errors | xref:nlohmann/basic_json-05/exception.adoc[`exception`] | Classes to implement user‐defined exceptions. @{ | xref:nlohmann/basic_json-05/initializer_list_t.adoc[`initializer_list_t`] | helper type for initializer lists of basic_json values | xref:nlohmann/basic_json-05/input_format_t.adoc[`input_format_t`] | | xref:nlohmann/basic_json-05/invalid_iterator.adoc[`invalid_iterator`] | | xref:nlohmann/basic_json-05/iterator.adoc[`iterator`] | an iterator for a basic_json container | xref:nlohmann/basic_json-05/json_pointer.adoc[`json_pointer`] | JSON Pointer, see xref:nlohmann/json_pointer-0b.adoc[`nlohmann::json_pointer`] | xref:nlohmann/basic_json-05/json_sax_t.adoc[`json_sax_t`] | SAX interface type, see `nlohmann::json_sax` | xref:nlohmann/basic_json-05/json_serializer.adoc[`json_serializer`] | | xref:nlohmann/basic_json-05/number_float_t.adoc[`number_float_t`] | a type for a number (floating‐point) | xref:nlohmann/basic_json-05/number_integer_t.adoc[`number_integer_t`] | a type for a number (integer) | xref:nlohmann/basic_json-05/number_unsigned_t.adoc[`number_unsigned_t`] | a type for a number (unsigned) | xref:nlohmann/basic_json-05/object_comparator_t.adoc[`object_comparator_t`] | object key comparator type | xref:nlohmann/basic_json-05/object_t.adoc[`object_t`] | a type for an object | xref:nlohmann/basic_json-05/other_error.adoc[`other_error`] | | xref:nlohmann/basic_json-05/out_of_range.adoc[`out_of_range`] | | xref:nlohmann/basic_json-05/parse_error.adoc[`parse_error`] | | xref:nlohmann/basic_json-05/parse_event_t.adoc[`parse_event_t`] | parser event types | xref:nlohmann/basic_json-05/parser_callback_t.adoc[`parser_callback_t`] | per‐element parser callback type | xref:nlohmann/basic_json-05/pointer.adoc[`pointer`] | the type of an element pointer | xref:nlohmann/basic_json-05/reference.adoc[`reference`] | the type of an element reference | xref:nlohmann/basic_json-05/reverse_iterator.adoc[`reverse_iterator`] | a reverse iterator for a basic_json container | xref:nlohmann/basic_json-05/size_type.adoc[`size_type`] | a type to represent container sizes | xref:nlohmann/basic_json-05/string_t.adoc[`string_t`] | a type for a string | xref:nlohmann/basic_json-05/type_error.adoc[`type_error`] | | xref:nlohmann/basic_json-05/value_t.adoc[`value_t`] | | xref:nlohmann/basic_json-05/value_type.adoc[`value_type`] | the type of elements in a basic_json container |=== == Member Functions [cols="1,4"] |=== | Name| Description | xref:nlohmann/basic_json-05/2constructor-05.adoc[`basic_json`] [.small]#[constructor]# | Construct from `nullptr_t` | xref:nlohmann/basic_json-05/2constructor-075.adoc[`basic_json`] [.small]#[constructor]# | Construct from `value_t` | xref:nlohmann/basic_json-05/2constructor-09.adoc[`basic_json`] [.small]#[constructor]# | Construct from `basic_json` | xref:nlohmann/basic_json-05/2constructor-0bf.adoc[`basic_json`] [.small]#[constructor]# | Construct from `basic_json` | xref:nlohmann/basic_json-05/2constructor-0d.adoc[`basic_json`] [.small]#[constructor]# | create a JSON value from an existing one | xref:nlohmann/basic_json-05/2constructor-074.adoc[`basic_json`] [.small]#[constructor]# | //////////////////////////////////// | xref:nlohmann/basic_json-05/2constructor-06.adoc[`basic_json`] [.small]#[constructor]# | create a JSON value from compatible types | xref:nlohmann/basic_json-05/2constructor-0f.adoc[`basic_json`] [.small]#[constructor]# | Constructor | xref:nlohmann/basic_json-05/2constructor-01.adoc[`basic_json`] [.small]#[constructor]# | construct a JSON container given an iterator range | xref:nlohmann/basic_json-05/2constructor-0b4.adoc[`basic_json`] [.small]#[constructor]# | | xref:nlohmann/basic_json-05/2destructor.adoc[`~basic_json`] [.small]#[destructor]# | Destructor | xref:nlohmann/basic_json-05/operator_assign.adoc[`operator=`] | Assignment operator | xref:nlohmann/basic_json-05/at-03e.adoc[`at`] | | xref:nlohmann/basic_json-05/at-00.adoc[`at`] | | xref:nlohmann/basic_json-05/at-0d.adoc[`at`] | | xref:nlohmann/basic_json-05/at-0e.adoc[`at`] | | xref:nlohmann/basic_json-05/at-03b.adoc[`at`] | | xref:nlohmann/basic_json-05/at-04.adoc[`at`] | | xref:nlohmann/basic_json-05/at-0f.adoc[`at`] | | xref:nlohmann/basic_json-05/at-0c.adoc[`at`] | | xref:nlohmann/basic_json-05/at-02.adoc[`at`] | access specified object element with bounds checking | xref:nlohmann/basic_json-05/at-09.adoc[`at`] | access specified object element with bounds checking | xref:nlohmann/basic_json-05/back-0d.adoc[`back`] | | xref:nlohmann/basic_json-05/back-04.adoc[`back`] | | xref:nlohmann/basic_json-05/begin-0b.adoc[`begin`] | | xref:nlohmann/basic_json-05/begin-08.adoc[`begin`] | | xref:nlohmann/basic_json-05/cbegin.adoc[`cbegin`] | | xref:nlohmann/basic_json-05/cend.adoc[`cend`] | | xref:nlohmann/basic_json-05/clear.adoc[`clear`] | | xref:nlohmann/basic_json-05/contains-062.adoc[`contains`] | | xref:nlohmann/basic_json-05/contains-0673.adoc[`contains`] | | xref:nlohmann/basic_json-05/contains-0676.adoc[`contains`] | | xref:nlohmann/basic_json-05/contains-00.adoc[`contains`] | check the existence of an element in a JSON object | xref:nlohmann/basic_json-05/count-0e.adoc[`count`] | | xref:nlohmann/basic_json-05/count-00.adoc[`count`] | returns the number of occurrences of a key in a JSON object | xref:nlohmann/basic_json-05/crbegin.adoc[`crbegin`] | | xref:nlohmann/basic_json-05/crend.adoc[`crend`] | | xref:nlohmann/basic_json-05/dump.adoc[`dump`] | | xref:nlohmann/basic_json-05/emplace.adoc[`emplace`] | add an object to an object if key does not exist | xref:nlohmann/basic_json-05/emplace_back.adoc[`emplace_back`] | add an object to an array | xref:nlohmann/basic_json-05/empty.adoc[`empty`] | | xref:nlohmann/basic_json-05/end-05.adoc[`end`] | | xref:nlohmann/basic_json-05/end-00.adoc[`end`] | | xref:nlohmann/basic_json-05/erase-0e.adoc[`erase`] | | xref:nlohmann/basic_json-05/erase-0b.adoc[`erase`] | | xref:nlohmann/basic_json-05/erase-0a.adoc[`erase`] | remove element given an iterator | xref:nlohmann/basic_json-05/erase-04.adoc[`erase`] | remove element from a JSON object given a key | xref:nlohmann/basic_json-05/erase-0c.adoc[`erase`] | remove elements given an iterator range | xref:nlohmann/basic_json-05/find-046.adoc[`find`] | | xref:nlohmann/basic_json-05/find-0d.adoc[`find`] | | xref:nlohmann/basic_json-05/find-04d.adoc[`find`] | find an element in a JSON object | xref:nlohmann/basic_json-05/find-01.adoc[`find`] | find an element in a JSON object | xref:nlohmann/basic_json-05/flatten.adoc[`flatten`] | | xref:nlohmann/basic_json-05/front-04.adoc[`front`] | | xref:nlohmann/basic_json-05/front-06.adoc[`front`] | | xref:nlohmann/basic_json-05/get-0e.adoc[`get`] | get a pointer value (explicit) | xref:nlohmann/basic_json-05/get-02.adoc[`get`] | get a (pointer) value (explicit) | xref:nlohmann/basic_json-05/get_binary-08.adoc[`get_binary`] | | xref:nlohmann/basic_json-05/get_binary-0d.adoc[`get_binary`] | | xref:nlohmann/basic_json-05/get_ptr-0b.adoc[`get_ptr`] | get a pointer value (implicit) | xref:nlohmann/basic_json-05/get_ptr-04.adoc[`get_ptr`] | get a pointer value (implicit) | xref:nlohmann/basic_json-05/get_ref-0a.adoc[`get_ref`] | get a reference value (implicit) | xref:nlohmann/basic_json-05/get_ref-07.adoc[`get_ref`] | get a reference value (implicit) | xref:nlohmann/basic_json-05/get_to-09.adoc[`get_to`] | get a value (explicit) | xref:nlohmann/basic_json-05/get_to-02.adoc[`get_to`] | | xref:nlohmann/basic_json-05/get_to-07.adoc[`get_to`] | | xref:nlohmann/basic_json-05/insert-01.adoc[`insert`] | | xref:nlohmann/basic_json-05/insert-0f.adoc[`insert`] | | xref:nlohmann/basic_json-05/insert-0d.adoc[`insert`] | | xref:nlohmann/basic_json-05/insert-08.adoc[`insert`] | | xref:nlohmann/basic_json-05/insert-04.adoc[`insert`] | | xref:nlohmann/basic_json-05/insert-03.adoc[`insert`] | | xref:nlohmann/basic_json-05/insert_iterator.adoc[`insert_iterator`] | Helper for insertion of an iterator | xref:nlohmann/basic_json-05/is_array.adoc[`is_array`] | | xref:nlohmann/basic_json-05/is_binary.adoc[`is_binary`] | | xref:nlohmann/basic_json-05/is_boolean.adoc[`is_boolean`] | | xref:nlohmann/basic_json-05/is_discarded.adoc[`is_discarded`] | | xref:nlohmann/basic_json-05/is_null.adoc[`is_null`] | | xref:nlohmann/basic_json-05/is_number.adoc[`is_number`] | | xref:nlohmann/basic_json-05/is_number_float.adoc[`is_number_float`] | | xref:nlohmann/basic_json-05/is_number_integer.adoc[`is_number_integer`] | | xref:nlohmann/basic_json-05/is_number_unsigned.adoc[`is_number_unsigned`] | | xref:nlohmann/basic_json-05/is_object.adoc[`is_object`] | | xref:nlohmann/basic_json-05/is_primitive.adoc[`is_primitive`] | | xref:nlohmann/basic_json-05/is_string.adoc[`is_string`] | | xref:nlohmann/basic_json-05/is_structured.adoc[`is_structured`] | | xref:nlohmann/basic_json-05/items-0fa.adoc[`items`] | | xref:nlohmann/basic_json-05/items-0fe.adoc[`items`] | | xref:nlohmann/basic_json-05/max_size.adoc[`max_size`] | | xref:nlohmann/basic_json-05/merge_patch.adoc[`merge_patch`] | | xref:nlohmann/basic_json-05/operator_plus_eq-0c.adoc[`operator+=`] | Addition assignment operator | xref:nlohmann/basic_json-05/operator_plus_eq-0d.adoc[`operator+=`] | Addition assignment operator | xref:nlohmann/basic_json-05/operator_plus_eq-09.adoc[`operator+=`] | Addition assignment operator | xref:nlohmann/basic_json-05/operator_plus_eq-06.adoc[`operator+=`] | Addition assignment operator | xref:nlohmann/basic_json-05/operator_subs-00.adoc[`operator[]`] | Subscript operator | xref:nlohmann/basic_json-05/operator_subs-09.adoc[`operator[]`] | Subscript operator | xref:nlohmann/basic_json-05/operator_subs-052.adoc[`operator[]`] | Subscript operator | xref:nlohmann/basic_json-05/operator_subs-0c5.adoc[`operator[]`] | Subscript operator | xref:nlohmann/basic_json-05/operator_subs-0ca.adoc[`operator[]`] | Subscript operator | xref:nlohmann/basic_json-05/operator_subs-088.adoc[`operator[]`] | Subscript operator | xref:nlohmann/basic_json-05/operator_subs-085.adoc[`operator[]`] | Subscript operator | xref:nlohmann/basic_json-05/operator_subs-053.adoc[`operator[]`] | Subscript operator | xref:nlohmann/basic_json-05/operator_subs-0b.adoc[`operator[]`] | access specified object element | xref:nlohmann/basic_json-05/operator_subs-03.adoc[`operator[]`] | access specified object element | xref:nlohmann/basic_json-05/operator_subs-058.adoc[`operator[]`] | Subscript operator | xref:nlohmann/basic_json-05/operator_subs-0f.adoc[`operator[]`] | Subscript operator | xref:nlohmann/basic_json-05/patch.adoc[`patch`] | | xref:nlohmann/basic_json-05/patch_inplace.adoc[`patch_inplace`] | | xref:nlohmann/basic_json-05/push_back-02.adoc[`push_back`] | | xref:nlohmann/basic_json-05/push_back-09.adoc[`push_back`] | | xref:nlohmann/basic_json-05/push_back-0f.adoc[`push_back`] | | xref:nlohmann/basic_json-05/push_back-03.adoc[`push_back`] | | xref:nlohmann/basic_json-05/rbegin-08.adoc[`rbegin`] | | xref:nlohmann/basic_json-05/rbegin-07.adoc[`rbegin`] | | xref:nlohmann/basic_json-05/rend-0d.adoc[`rend`] | | xref:nlohmann/basic_json-05/rend-0a.adoc[`rend`] | | xref:nlohmann/basic_json-05/size.adoc[`size`] | | xref:nlohmann/basic_json-05/swap-05.adoc[`swap`] | | xref:nlohmann/basic_json-05/swap-07.adoc[`swap`] | | xref:nlohmann/basic_json-05/swap-019.adoc[`swap`] | | xref:nlohmann/basic_json-05/swap-014.adoc[`swap`] | | xref:nlohmann/basic_json-05/swap-09.adoc[`swap`] | | xref:nlohmann/basic_json-05/swap-0c.adoc[`swap`] | | xref:nlohmann/basic_json-05/type.adoc[`type`] | | xref:nlohmann/basic_json-05/type_name.adoc[`type_name`] | | xref:nlohmann/basic_json-05/unflatten.adoc[`unflatten`] | | xref:nlohmann/basic_json-05/update-07.adoc[`update`] | | xref:nlohmann/basic_json-05/update-02.adoc[`update`] | | xref:nlohmann/basic_json-05/value-0f.adoc[`value`] | access specified object element via JSON Pointer with default value | xref:nlohmann/basic_json-05/value-0c.adoc[`value`] | access specified object element with default value | xref:nlohmann/basic_json-05/value-05.adoc[`value`] | access specified object element via JSON Pointer with default value | xref:nlohmann/basic_json-05/value-0a.adoc[`value`] | access specified object element with default value | xref:nlohmann/basic_json-05/value-0ea.adoc[`value`] | | xref:nlohmann/basic_json-05/value-06.adoc[`value`] | access specified object element with default value | xref:nlohmann/basic_json-05/value-03.adoc[`value`] | | xref:nlohmann/basic_json-05/value-0e1.adoc[`value`] | access specified object element via JSON Pointer with default value | xref:nlohmann/basic_json-05/2conversion-00.adoc[`operator ValueType`] | get a value (implicit) | xref:nlohmann/basic_json-05/2conversion-02.adoc[`operator value_t`] | Conversion to `value_t` | xref:nlohmann/basic_json-05/operator_eq-0e.adoc[`operator==`] | comparison: equal | xref:nlohmann/basic_json-05/operator_eq-0f.adoc[`operator==`] | Equality operator | xref:nlohmann/basic_json-05/operator_not_eq.adoc[`operator!=`] | Inequality operator | xref:nlohmann/basic_json-05/operator_3way-07.adoc[`operator<=>`] | comparison: 3‐way | xref:nlohmann/basic_json-05/operator_3way-05.adoc[`operator<=>`] | Three‐way comparison operator |=== == Static Member Functions [cols="1,4"] |=== | Name| Description | xref:nlohmann/basic_json-05/accept-02.adoc[`accept`] | | xref:nlohmann/basic_json-05/accept-03.adoc[`accept`] | check if the input is valid JSON | xref:nlohmann/basic_json-05/accept-0d.adoc[`accept`] | check if the input is valid JSON | xref:nlohmann/basic_json-05/array.adoc[`array`] | | xref:nlohmann/basic_json-05/binary-06.adoc[`binary`] | | xref:nlohmann/basic_json-05/binary-0e.adoc[`binary`] | | xref:nlohmann/basic_json-05/binary-0c.adoc[`binary`] | | xref:nlohmann/basic_json-05/binary-08.adoc[`binary`] | | xref:nlohmann/basic_json-05/diff.adoc[`diff`] | | xref:nlohmann/basic_json-05/from_bjdata-04.adoc[`from_bjdata`] | create a JSON value from an input in BJData format | xref:nlohmann/basic_json-05/from_bjdata-00.adoc[`from_bjdata`] | create a JSON value from an input in BJData format | xref:nlohmann/basic_json-05/from_bson-0eb.adoc[`from_bson`] | | xref:nlohmann/basic_json-05/from_bson-01.adoc[`from_bson`] | create a JSON value from an input in BSON format | xref:nlohmann/basic_json-05/from_bson-0e6.adoc[`from_bson`] | create a JSON value from an input in BSON format | xref:nlohmann/basic_json-05/from_bson-02.adoc[`from_bson`] | | xref:nlohmann/basic_json-05/from_cbor-05.adoc[`from_cbor`] | | xref:nlohmann/basic_json-05/from_cbor-0c.adoc[`from_cbor`] | create a JSON value from an input in CBOR format | xref:nlohmann/basic_json-05/from_cbor-0b.adoc[`from_cbor`] | create a JSON value from an input in CBOR format | xref:nlohmann/basic_json-05/from_cbor-02.adoc[`from_cbor`] | | xref:nlohmann/basic_json-05/from_msgpack-029.adoc[`from_msgpack`] | | xref:nlohmann/basic_json-05/from_msgpack-02f.adoc[`from_msgpack`] | create a JSON value from an input in MessagePack format | xref:nlohmann/basic_json-05/from_msgpack-09.adoc[`from_msgpack`] | create a JSON value from an input in MessagePack format | xref:nlohmann/basic_json-05/from_msgpack-04.adoc[`from_msgpack`] | | xref:nlohmann/basic_json-05/from_ubjson-049.adoc[`from_ubjson`] | | xref:nlohmann/basic_json-05/from_ubjson-03.adoc[`from_ubjson`] | create a JSON value from an input in UBJSON format | xref:nlohmann/basic_json-05/from_ubjson-041.adoc[`from_ubjson`] | create a JSON value from an input in UBJSON format | xref:nlohmann/basic_json-05/from_ubjson-048.adoc[`from_ubjson`] | | xref:nlohmann/basic_json-05/get_allocator.adoc[`get_allocator`] | | xref:nlohmann/basic_json-05/iterator_wrapper-03.adoc[`iterator_wrapper`] | | xref:nlohmann/basic_json-05/iterator_wrapper-01.adoc[`iterator_wrapper`] | | xref:nlohmann/basic_json-05/meta.adoc[`meta`] | | xref:nlohmann/basic_json-05/object.adoc[`object`] | | xref:nlohmann/basic_json-05/parse-01.adoc[`parse`] | | xref:nlohmann/basic_json-05/parse-0d.adoc[`parse`] | deserialize from a compatible input | xref:nlohmann/basic_json-05/parse-05.adoc[`parse`] | deserialize from a pair of character iterators | xref:nlohmann/basic_json-05/sax_parse-08.adoc[`sax_parse`] | generate SAX events | xref:nlohmann/basic_json-05/sax_parse-02d.adoc[`sax_parse`] | generate SAX events | xref:nlohmann/basic_json-05/sax_parse-024.adoc[`sax_parse`] | generate SAX events | xref:nlohmann/basic_json-05/to_bjdata-09.adoc[`to_bjdata`] | | xref:nlohmann/basic_json-05/to_bjdata-0d.adoc[`to_bjdata`] | | xref:nlohmann/basic_json-05/to_bjdata-07.adoc[`to_bjdata`] | | xref:nlohmann/basic_json-05/to_bson-0f.adoc[`to_bson`] | | xref:nlohmann/basic_json-05/to_bson-04.adoc[`to_bson`] | | xref:nlohmann/basic_json-05/to_bson-0c.adoc[`to_bson`] | | xref:nlohmann/basic_json-05/to_cbor-0c.adoc[`to_cbor`] | | xref:nlohmann/basic_json-05/to_cbor-0e.adoc[`to_cbor`] | | xref:nlohmann/basic_json-05/to_cbor-0b.adoc[`to_cbor`] | | xref:nlohmann/basic_json-05/to_msgpack-05.adoc[`to_msgpack`] | | xref:nlohmann/basic_json-05/to_msgpack-00.adoc[`to_msgpack`] | | xref:nlohmann/basic_json-05/to_msgpack-0d.adoc[`to_msgpack`] | | xref:nlohmann/basic_json-05/to_ubjson-0a.adoc[`to_ubjson`] | | xref:nlohmann/basic_json-05/to_ubjson-0e.adoc[`to_ubjson`] | | xref:nlohmann/basic_json-05/to_ubjson-0c.adoc[`to_ubjson`] | |=== == Friends [cols="1,4"] |=== |Name|Description | `xref:nlohmann/operator_rshift-01.adoc[nlohmann::operator>>]` | deserialize from stream | `xref:nlohmann/operator_lshift-0d.adoc[nlohmann::operator<<]` | deserialize from stream | `xref:nlohmann/operator_rshift-04.adoc[nlohmann::operator>>]` | serialize to stream | `xref:nlohmann/operator_lshift-0c.adoc[nlohmann::operator<<]` | serialize to stream | `xref:nlohmann/swap-08.adoc[nlohmann::swap]` | exchanges the values | `nlohmann::detail::exception` | general exception of the `basic_json` class | `nlohmann::detail::serializer` | | `xref:nlohmann/json_pointer-0a.adoc[nlohmann::json_pointer]` | JSON Pointer defines a string syntax for identifying a specific value within a JSON document |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#