JSON for Modern C++ 1.1.0

- Main Page
- Classes

allocator_type
array
array_t
at
at
at
at
back
back
basic_json
basic_json
basic_json
basic_json
basic_json
basic_json
basic_json
basic_json
basic_json
basic_json
basic_json
basic_json
basic_json
basic_json
basic_json
basic_json
basic_json
basic_json
basic_json
basic_json
basic_json
begin
begin
boolean_t
cbegin
cend
clear
const_pointer
const_reference
const_reverse_iterator
count
crbegin
crend
difference_type
dump
empty
end
end
erase
erase
erase
erase
find
find
front
front
get
get
get
get_allocator
get_ptr
get_ptr
get_ref
get_ref
insert
insert
insert
insert
insert
is_array
is_boolean
is_discarded
is_null
is_number
is_number_float
is_number_integer
is_object
is_primitive
is_string
is_structured
iterator_wrapper
iterator_wrapper
max_size
number_float_t
number_integer_t
object
object_t
operator value_t
operator ValueType
operator!=
operator!=
operator!=
operator+=
operator+=
operator+=
operator<
operator<
operator<<
operator<<
operator<=
operator=
operator==
operator==
operator==
operator>
operator>=
operator>>
operator>>
operator[]
operator[]
operator[]
operator[]
operator[]
operator[]
operator[]
operator[]
parse
parse
parse
parse_event_t
parser_callback_t
pointer
push_back
push_back
push_back
rbegin
rbegin
reference
rend
rend
reverse_iterator
size
size_type
string_t
swap
swap
swap
swap
type
value
value
value_t
value_type
~basic_json
| template<template< typename U, typename V, typename...Args > class ObjectType = std::map, template< typename U, typename...Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = int64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator>
reference nlohmann::basic_json::at | ( | const typename object_t::key_type & | key | ) |
| inline
  Returns a reference to the element at with specified key key, with bounds checking. Parameters
  [in] | key | key of the element to access
  Returns reference to the element at key key Exceptions
  std::domain_error | if the JSON value is not an object; example: `"cannot use at() with boolean"`
  std::out_of_range | if the key key is is not stored in the object; that is, `find(key) == end()`; example: `"key "the fast" not found"`
  Complexity Logarithmic in the size of the container. Example The example below shows how object elements can be read and written using at. 1 #include <json.hpp> 2 3 using namespace nlohmann; 4 5 int main() 6 { 7 // create JSON object 8 json object = 9 { 10 {"the good", "il buono"}, 11 {"the bad", "il cativo"}, 12 {"the ugly", "il brutto"} 13 }; 14 15 // output element with key "the ugly" 16 std::cout << object.at("the ugly") << '\n'; 17 18 // change element with key "the bad" 19 object.at("the bad") = "il cattivo"; 20 21 // output changed array 22 std::cout << object << '\n'; 23 24 // try to write at a nonexisting key 25 try 26 { 27 object.at("the fast") = "il rapido"; 28 } 29 catch (std::out_of_range& e) 30 { 31 std::cout << "out of range: " << e.what() << '\n'; 32 } 33 } nlohmann::basic_json a class to store JSON values Definition: json.hpp:191 nlohmann::basic_json::at reference at(size_type idx) access specified array element with bounds checking Definition: json.hpp:2729 nlohmann namespace for Niels Lohmann Definition: json.hpp:88 Output (play with this example online):
      "il brutto"
      {"the bad":"il cattivo","the good":"il buono","the ugly":"il brutto"}
      out of range: key 'the fast' not found
  The example code above can be translated with
      g++ -std=c++11 -Isrc doc/examples/at__object_t_key_type.cpp -o at__object_t_key_type
See also operator[](const typename object_t::key_type&) for unchecked access by reference value() for access by value with a default value Since version 1.0.0 Definition at line 2821 of file json.hpp.