object - JSON for Modern C++ (original) (raw)
nlohmann::basic_json::object¶
static basic_json object(initializer_list_t init = {});
Creates a JSON object value from a given initializer list. The initializer lists elements must be pairs, and their first elements must be strings. If the initializer list is empty, the empty object {}
is created.
Parameters¶
init
(in)
initializer list with JSON values to create an object from (optional)
Return value¶
JSON object value
Exception safety¶
Strong guarantee: if an exception is thrown, there are no changes in the JSON value.
Exceptions¶
Throws type_error.301 if init
is not a list of pairs whose first elements are strings. In this case, no object can be created. When such a value is passed to basic_json(initializer_list_t, bool, value_t)
, an array would have been created from the passed initializer list init
. See the example below.
Complexity¶
Linear in the size of init
.
Notes¶
This function is only added for symmetry reasons. In contrast to the related function array(initializer_list_t)
, there are no cases that can only be expressed by this function. That is, any initializer list init
can also be passed to the initializer list constructor basic_json(initializer_list_t, bool, value_t)
.
Examples¶
Example
The following code shows an example for the object
function.
`#include #include <nlohmann/json.hpp>
using json = nlohmann::json;
int main() { // create JSON objects json j_no_init_list = json::object(); json j_empty_init_list = json::object({}); json j_list_of_pairs = json::object({ {"one", 1}, {"two", 2} });
// serialize the JSON objects
std::cout << j_no_init_list << '\n';
std::cout << j_empty_init_list << '\n';
std::cout << j_list_of_pairs << '\n';
// example for an exception
try
{
// can only create an object from a list of pairs
json j_invalid_object = json::object({{ "one", 1, 2 }});
}
catch (const json::type_error& e)
{
std::cout << e.what() << '\n';
}
} `
Output:
{} {} {"one":1,"two":2} [json.exception.type_error.301] cannot create object from initializer list
See also¶
- basic_json(initializer_list_t) - create a JSON value from an initializer list
- array - create a JSON array value from an initializer list
Version history¶
- Added in version 1.0.0.