38namespace nfx::serialization::json
181 template <
typename U>
182 inline void serializeValue(
const U& obj,
Document& doc )
const;
190 template <
typename U>
191 inline void deserializeValue(
const Document& doc, U& obj )
const;
201#include "nfx/detail/serialization/json/Serializer.inl"
Generic document abstraction for JSON serialization.
Serialization traits and type specializations for JSON serialization.
Generic JSON document abstraction for serialization.
Document serialize(const T &obj) const
Serialize object to JSON document.
Serializer(const Options &options) noexcept
Constructor with options.
T deserialize(const Document &doc) const
Deserialize object from JSON document.
static T fromString(std::string_view jsonStr, const Options &options={})
Deserialize object from JSON string.
static std::string toString(const T &obj, const Options &options={})
Serialize object to JSON string.
const Options & options() const noexcept
Get current serialization options.
T value_type
The type being serialized/deserialized.
Serializer()=default
Default constructor.
void setOptions(const Options &options) noexcept
Set serialization options.
Serialization options and context.
Options()=default
Default constructor.
bool prettyPrint
Format output with indentation (2 spaces per level).
void copyFrom(const typename Serializer< U >::Options &other)
Copy values from another serializer's options.
bool includeNullFields
Include fields with null values in output.
static Options createFrom(const typename Serializer< U >::Options &other)
Create Options with values copied from another serializer's options.
bool validateOnDeserialize
Validate data during deserialization.