mirror of
https://github.com/nlohmann/json.git
synced 2026-10-03 14:25:47 +01:00
1.6 KiB
1.6 KiB
nlohmann::basic_json::json_serializer
template<typename T, typename SFINAE>
using json_serializer = JSONSerializer<T, SFINAE>;
Template parameters
T- type to convert; will be used in the
to_json/from_jsonfunctions SFINAE- type to add compile type checks via SFINAE; usually
#!cpp void
Notes
Default type
The default values for json_serializer is adl_serializer.
Requirements
A custom serializer must provide #!cpp static void to_json(basic_json&, T) for every type it serializes, and either
#!cpp static void from_json(const basic_json&, T&) or #!cpp static T from_json(const basic_json&) for every type it
deserializes. See Template Parameter Requirements.
Examples
??? example
The example below shows how a conversion of a non-default-constructible type is implemented via a specialization of
the `adl_serializer`.
```cpp
--8<-- "examples/from_json__non_default_constructible.cpp"
```
Output:
```json
--8<-- "examples/from_json__non_default_constructible.output"
```
See also
- adl_serializer the default
json_serializer - get explicit type conversion using the
json_serializer'sfrom_json()method - get_to explicit type conversion into a variable using the
json_serializer'sfrom_json()method - Arbitrary Type Conversions - the article on converting between JSON values and arbitrary types
Version history
- Since version 2.0.0.