[#BloombergLP-bdljsn-JsonObject-2constructor-02] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bdljsn.adoc[bdljsn]::xref:BloombergLP/bdljsn/JsonObject.adoc[JsonObject]::JsonObject :relfileprefix: ../../../ :mrdocs: Create an empty `JsonObject`, and then create a `Json` object for each iterator in the range starting at the specified `first` iterator and ending immediately before the specified `last` iterator, by converting from the object referred to by each iterator. Insert into this `JsonObject` each such object, ignoring those having a key that appears earlier in the sequence. Optionally specify a `basicAllocator` used to supply memory. If `basicAllocator` is not supplied, the currently installed default allocator is used to supply memory. The (template parameter) type `t_INPUT_ITERATOR` shall meet the requirements of an input iterator defined in the C++11 standard [24.2.3]providing access to values of a type convertible to `Member`. The behavior is undefined unless `first` and `last` refer to a sequence of valid values where `first` is at a position at or before `last`, and all keys of all `Member` objects inserted are valid UTF‐8 (see `bdlde::Utf8Util::isValid`). == Synopsis Declared in `<bdljsn_json.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class t_INPUT_ITERATOR> JsonObject( t_INPUT_ITERATOR first, t_INPUT_ITERATOR last, xref:BloombergLP/bslma/Allocator.adoc[bslma::Allocator]* basicAllocator = 0); ---- [.small]#Created with https://www.mrdocs.com[MrDocs]#