JSON for Modern C++ 2.1.1
Loading...
Searching...
No Matches

◆ operator[]() [8/10]

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 = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer>
template<typename T , std::size_t n>
const_reference nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::operator[] ( T *(&)  key[n]) const
inline

Returns a const reference to the element at with specified key key. No bounds checking is performed.

Warning
If the element with key key does not exist, the behavior is undefined.
Note
This function is required for compatibility reasons with Clang.
Parameters
[in]keykey of the element to access
Returns
const reference to the element at key key
Exceptions
std::domain_errorif JSON is not an object; example: "cannot use operator[] with null"
Complexity\n Logarithmic in the size of the container.
Example\n The example below shows how object elements can be read using
the [] operator.
1#include <json.hpp>
2
3using json = nlohmann::json;
4
5int main()
6{
7 // create a JSON object
8 const json object =
9 {
10 {"one", 1}, {"two", 2}, {"three", 2.9}
11 };
12
13 // output element with key "two"
14 std::cout << object["two"] << '\n';
15}
static basic_json array(std::initializer_list< basic_json > init=std::initializer_list< basic_json >())
explicitly create an array from an initializer list
Definition json.hpp:2165
a class to store JSON values
Definition json.hpp:1040
basic_json<> json
default JSON class
Definition json.hpp:12369

Output (play with this example online):
2

The example code above can be translated with
g++ -std=c++11 -Isrc doc/examples/operatorarray__key_type_const.cpp -o operatorarray__key_type_const 
See also
at(const typename object_t::key_type&) for access by reference with range checking
value() for access by value with a default value
Since
version 1.0.0

Definition at line 3922 of file json.hpp.