These pages contain the API documentation of JSON for Modern C++, a C++11 header-only JSON class.
The container functions known from STL have been extended to support the different value types from JSON. However, not all functions can be applied to all value types. Note that the signature of some functions differ between the types; for instance, at
may be called with either a string to address a key in an object or with an integer to address a value in an array.
Note that this table only lists those exceptions thrown due to the type. For instance, the @link nlohmann::basic_json::at(const typename object_t::key_type & key) at
@endlink function will always throw a @link nlohmann::basic_json::type_error json::type_error
@endlink exception when called for a string type. When called for an array, it may throw an @link nlohmann::basic_json::out_of_range json::out_of_range
@endlink exception if the passed index is invalid.
group | function | JSON value type | |||||
---|---|---|---|---|---|---|---|
object | array | string | number | boolean | null | ||
iterators | `begin` | @link nlohmann::basic_json::begin `begin` @endlink | @link nlohmann::basic_json::begin `begin` @endlink | @link nlohmann::basic_json::begin `begin` @endlink | @link nlohmann::basic_json::begin `begin` @endlink | @link nlohmann::basic_json::begin `begin` @endlink | @link nlohmann::basic_json::begin `begin` @endlink (returns `end()`) |
`cbegin` | @link nlohmann::basic_json::cbegin `cbegin` @endlink | @link nlohmann::basic_json::cbegin `cbegin` @endlink | @link nlohmann::basic_json::cbegin `cbegin` @endlink | @link nlohmann::basic_json::cbegin `cbegin` @endlink | @link nlohmann::basic_json::cbegin `cbegin` @endlink | @link nlohmann::basic_json::cbegin `cbegin` @endlink (returns `cend()`) | |
`end` | @link nlohmann::basic_json::end `end` @endlink | @link nlohmann::basic_json::end `end` @endlink | @link nlohmann::basic_json::end `end` @endlink | @link nlohmann::basic_json::end `end` @endlink | @link nlohmann::basic_json::end `end` @endlink | @link nlohmann::basic_json::end `end` @endlink | |
`cend` | @link nlohmann::basic_json::cend `cend` @endlink | @link nlohmann::basic_json::cend `cend` @endlink | @link nlohmann::basic_json::cend `cend` @endlink | @link nlohmann::basic_json::cend `cend` @endlink | @link nlohmann::basic_json::cend `cend` @endlink | @link nlohmann::basic_json::cend `cend` @endlink | |
`rbegin` | @link nlohmann::basic_json::rbegin `rbegin` @endlink | @link nlohmann::basic_json::rbegin `rbegin` @endlink | @link nlohmann::basic_json::rbegin `rbegin` @endlink | @link nlohmann::basic_json::rbegin `rbegin` @endlink | @link nlohmann::basic_json::rbegin `rbegin` @endlink | @link nlohmann::basic_json::rbegin `rbegin` @endlink | |
`crbegin` | @link nlohmann::basic_json::crbegin `crbegin` @endlink | @link nlohmann::basic_json::crbegin `crbegin` @endlink | @link nlohmann::basic_json::crbegin `crbegin` @endlink | @link nlohmann::basic_json::crbegin `crbegin` @endlink | @link nlohmann::basic_json::crbegin `crbegin` @endlink | @link nlohmann::basic_json::crbegin `crbegin` @endlink | |
`rend` | @link nlohmann::basic_json::rend `rend` @endlink | @link nlohmann::basic_json::rend `rend` @endlink | @link nlohmann::basic_json::rend `rend` @endlink | @link nlohmann::basic_json::rend `rend` @endlink | @link nlohmann::basic_json::rend `rend` @endlink | @link nlohmann::basic_json::rend `rend` @endlink | |
`crend` | @link nlohmann::basic_json::crend `crend` @endlink | @link nlohmann::basic_json::crend `crend` @endlink | @link nlohmann::basic_json::crend `crend` @endlink | @link nlohmann::basic_json::crend `crend` @endlink | @link nlohmann::basic_json::crend `crend` @endlink | @link nlohmann::basic_json::crend `crend` @endlink | |
element access |
`at` | @link nlohmann::basic_json::at(const typename object_t::key_type & key) `at` @endlink | @link nlohmann::basic_json::at(size_type) `at` @endlink | throws @link nlohmann::basic_json::type_error `json::type_error` @endlink (304) | throws @link nlohmann::basic_json::type_error `json::type_error` @endlink (304) | throws @link nlohmann::basic_json::type_error `json::type_error` @endlink (304) | throws @link nlohmann::basic_json::type_error `json::type_error` @endlink (304) |
`operator[]` | @link nlohmann::basic_json::operator[](const typename object_t::key_type &key) `operator[]` @endlink | @link nlohmann::basic_json::operator[](size_type) `operator[]` @endlink | throws @link nlohmann::basic_json::type_error `json::type_error` @endlink (305) | throws @link nlohmann::basic_json::type_error `json::type_error` @endlink (305) | throws @link nlohmann::basic_json::type_error `json::type_error` @endlink (305) | @link nlohmann::basic_json::operator[](const typename object_t::key_type & key) `operator[]` @endlink (creates object) @link nlohmann::basic_json::operator[](size_type) `operator[]` @endlink (creates array) |
|
`front` | @link nlohmann::basic_json::front `front` @endlink | @link nlohmann::basic_json::front `front` @endlink | @link nlohmann::basic_json::front `front` @endlink | @link nlohmann::basic_json::front `front` @endlink | @link nlohmann::basic_json::front `front` @endlink | throws @link nlohmann::basic_json::invalid_iterator `json::invalid_iterator` @endlink (214) | |
`back` | @link nlohmann::basic_json::back `back` @endlink | @link nlohmann::basic_json::back `back` @endlink | @link nlohmann::basic_json::back `back` @endlink | @link nlohmann::basic_json::back `back` @endlink | @link nlohmann::basic_json::back `back` @endlink | throws @link nlohmann::basic_json::invalid_iterator `json::invalid_iterator` @endlink (214) | |
capacity | `empty` | @link nlohmann::basic_json::empty `empty` @endlink | @link nlohmann::basic_json::empty `empty` @endlink | @link nlohmann::basic_json::empty `empty` @endlink (returns `false`) | @link nlohmann::basic_json::empty `empty` @endlink (returns `false`) | @link nlohmann::basic_json::empty `empty` @endlink (returns `false`) | @link nlohmann::basic_json::empty `empty` @endlink (returns `true`) |
`size` | @link nlohmann::basic_json::size `size` @endlink | @link nlohmann::basic_json::size `size` @endlink | @link nlohmann::basic_json::size `size` @endlink (returns `1`) | @link nlohmann::basic_json::size `size` @endlink (returns `1`) | @link nlohmann::basic_json::size `size` @endlink (returns `1`) | @link nlohmann::basic_json::size `size` @endlink (returns `0`) | |
`max_size_` | @link nlohmann::basic_json::max_size `max_size` @endlink | @link nlohmann::basic_json::max_size `max_size` @endlink | @link nlohmann::basic_json::max_size `max_size` @endlink (returns `1`) | @link nlohmann::basic_json::max_size `max_size` @endlink (returns `1`) | @link nlohmann::basic_json::max_size `max_size` @endlink (returns `1`) | @link nlohmann::basic_json::max_size `max_size` @endlink (returns `0`) | |
modifiers | `clear` | @link nlohmann::basic_json::clear `clear` @endlink | @link nlohmann::basic_json::clear `clear` @endlink | @link nlohmann::basic_json::clear `clear` @endlink | @link nlohmann::basic_json::clear `clear` @endlink | @link nlohmann::basic_json::clear `clear` @endlink | @link nlohmann::basic_json::clear `clear` @endlink |
`insert` | throws @link nlohmann::basic_json::type_error `json::type_error` @endlink (309) | @link nlohmann::basic_json::insert `insert` @endlink | throws @link nlohmann::basic_json::type_error `json::type_error` @endlink (309) | throws @link nlohmann::basic_json::type_error `json::type_error` @endlink (309) | throws @link nlohmann::basic_json::type_error `json::type_error` @endlink (309) | throws @link nlohmann::basic_json::type_error `json::type_error` @endlink (309) | |
`erase` | @link nlohmann::basic_json::erase `erase` @endlink | @link nlohmann::basic_json::erase `erase` @endlink | @link nlohmann::basic_json::erase `erase` @endlink (converts to null) | @link nlohmann::basic_json::erase `erase` @endlink (converts to null) | @link nlohmann::basic_json::erase `erase` @endlink (converts to null) | throws @link nlohmann::basic_json::type_error `json::type_error` @endlink (307) | |
`push_back` | @link nlohmann::basic_json::push_back(const typename object_t::value_type & val) `push_back` @endlink | @link nlohmann::basic_json::push_back(const nlohmann::basic_json &) `push_back` @endlink | throws @link nlohmann::basic_json::type_error `json::type_error` @endlink (308) | throws @link nlohmann::basic_json::type_error `json::type_error` @endlink (308) | throws @link nlohmann::basic_json::type_error `json::type_error` @endlink (308) | @link nlohmann::basic_json::push_back(const typename object_t::value_type & val) `push_back` @endlink (creates object) @link nlohmann::basic_json::push_back(const nlohmann::basic_json &) `push_back` @endlink (creates array) |
|
`emplace` / `emplace_back` | @link nlohmann::basic_json::emplace() `emplace` @endlink | @link nlohmann::basic_json::emplace_back() `emplace_back` @endlink | throws @link nlohmann::basic_json::type_error `json::type_error` @endlink (311) | throws @link nlohmann::basic_json::type_error `json::type_error` @endlink (311) | throws @link nlohmann::basic_json::type_error `json::type_error` @endlink (311) | @link nlohmann::basic_json::emplace() `emplace` @endlink (creates object) @link nlohmann::basic_json::emplace_back() `emplace_back` @endlink (creates array) |
|
`update` | @link nlohmann::basic_json::update() `update` @endlink | throws @link nlohmann::basic_json::type_error `json::type_error` @endlink (312) | throws @link nlohmann::basic_json::type_error `json::type_error` @endlink (312) | throws @link nlohmann::basic_json::type_error `json::type_error` @endlink (312) | throws @link nlohmann::basic_json::type_error `json::type_error` @endlink (312) | throws @link nlohmann::basic_json::type_error `json::type_error` @endlink (312) | |
`swap` | @link nlohmann::basic_json::swap `swap` @endlink | @link nlohmann::basic_json::swap `swap` @endlink | @link nlohmann::basic_json::swap `swap` @endlink | @link nlohmann::basic_json::swap `swap` @endlink | @link nlohmann::basic_json::swap `swap` @endlink | @link nlohmann::basic_json::swap `swap` @endlink | |
lookup | `find` | @link nlohmann::basic_json::find `find` @endlink | @link nlohmann::basic_json::find `find` @endlink (returns `end()`) | @link nlohmann::basic_json::find `find` @endlink (returns `end()`) | @link nlohmann::basic_json::find `find` @endlink (returns `end()`) | @link nlohmann::basic_json::find `find` @endlink (returns `end()`) | @link nlohmann::basic_json::find `find` @endlink (returns `end()`) |
`count` | @link nlohmann::basic_json::count `count` @endlink | @link nlohmann::basic_json::count `count` @endlink (returns `0`) | @link nlohmann::basic_json::count `count` @endlink (returns `0`) | @link nlohmann::basic_json::count `count` @endlink (returns `0`) | @link nlohmann::basic_json::count `count` @endlink (returns `0`) | @link nlohmann::basic_json::count `count` @endlink (returns `0`) | |
`contains` | @link nlohmann::basic_json::contains `contains` @endlink | @link nlohmann::basic_json::contains `contains` @endlink (returns `false`) | @link nlohmann::basic_json::contains `contains` @endlink (returns `false`) | @link nlohmann::basic_json::contains `contains` @endlink (returns `false`) | @link nlohmann::basic_json::contains `contains` @endlink (returns `false`) | @link nlohmann::basic_json::contains `contains` @endlink (returns `false`) |
@copyright Copyright © 2013-2019 Niels Lohmann. The code is licensed under the MIT License.
@author Niels Lohmann @see https://github.com/nlohmann/json to download the source code
@version 3.7.3