Files
json/api/basic_json/json_serializer.md
2026-09-15 20:47:46 +00:00

1.2 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_json functions
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"
```

Version history

  • Since version 2.0.0.