# 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`](https://json.nlohmann.me/home/exceptions/#jsonexceptiontype_error301) 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 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)`](https://json.nlohmann.me/api/basic_json/basic_json/index.md) - create a JSON value from an initializer list - [`array`](https://json.nlohmann.me/api/basic_json/array/index.md) - create a JSON array value from an initializer list - [Creating JSON values](https://json.nlohmann.me/features/creating_values/index.md) - the article on creating JSON values ## Version history - Added in version 1.0.0.