| Home | Libraries | People | FAQ | More

##### parse_into (3 of 6 overloads)

Parse a JSON text into a user-defined object.

###### Synopsis

Defined in header `<boost/json/parse_into.hpp>`

    template<
        class V>
    void
    parse_into(
        V& v,
        std::istream& is,
        error_code& ec,
        parse_options const& opt = {});

###### Description

This function reads data from an input stream and fills an object provided by the user. If the buffer does not contain a complete serialized JSON text, or contains extra non-whitespace data, an error occurs. In this case `v` may be partially filled. The function supports default constructible types satisfying SequenceContainer, arrays, arithmetic types, `bool`, `std::tuple`, `std::pair`, `std::optional`, `std::nullptr_t`, and structs and enums described using Boost.Describe.

###### Complexity

Linear in the size of consumed input.

###### Exception Safety

Basic guarantee. Calls to `memory_resource::allocate` may throw. The stream may throw as described by `std::ios::exceptions`.

###### Parameters

Name | Description
--- | ---
`v` | The type to parse into.
`is` | The stream to read from.
`ec` | Set to the error, if any occurred.
`opt` | The options for the parser. If this parameter is omitted, the parser will accept only standard JSON.

Convenience header `<boost/json.hpp>`