# basic_json::object ```cpp 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 `#!json {}` is created. ## Parameters `init` (in) : initializer list with JSON values to create an object from (optional) ## Return value JSON object value ## Exceptions Throws [`type_error.301`](../../home/exceptions.md#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 example below. ## Exception safety Strong guarantee: if an exception is thrown, there are no changes in the JSON value. ## 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 which 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. ```cpp --8<-- "examples/object.cpp" ``` Output: ```json --8<-- "examples/object.output" ``` ## Version history - Added in version 1.0.0.