parse_into
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,
string_view sv,
boost::system::error_code& ec,
parse_options const& opt = {}); (1)
template<
class V>
void
parse_into(
V& v,
string_view sv,
std::error_code& ec,
parse_options const& opt = {}); (2)
template<
class V>
void
parse_into(
V& v,
std::istream& is,
boost::system::error_code& ec,
parse_options const& opt = {}); (3)
template<
class V>
void
parse_into(
V& v,
std::istream& is,
std::error_code& ec,
parse_options const& opt = {}); (4)
template<
class V>
void
parse_into(
V& v,
string_view sv,
parse_options const& opt = {}); (5)
template<
class V>
void
parse_into(
V& v,
std::istream& is,
parse_options const& opt = {}); (6)
Description
This function parses an entire string in one step and fills an object provided by the user. If the buffer does not contain a complete serialized JSON text, 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 sv.size()
.
Exception Safety
Basic guarantee. Calls to memory_resource::allocate
may throw.
Parameters
Name | Description |
---|---|
|
The type to parse into. |
|
The string to parse. |
|
Set to the error, if any occurred. |
|
The options for the parser. If this parameter is omitted, the parser will accept only standard JSON. |
|
The stream to read from. |
Exceptions
Type | Thrown On |
---|---|
|
on failed parse. |
Convenience header <boost/json.hpp>