4#ifndef ISERIALIZABLETOJSON_H
5#define ISERIALIZABLETOJSON_H
10#include <Kanoop/kanoopcommon.h>
Interface for objects that can serialize into an existing QJsonObject (in-place variant).
static QVariant doubleStringOrNull(const QJsonValue &value, int precision=6)
Parse a double from a JSON string value, or invalid QVariant if null.
static QJsonValue stringOrNull(const QString &value)
Return a string as a JSON string, or null if value is empty.
static QVariant intOrNull(const QJsonValue &value)
Extract an integer QVariant from a JSON value, or invalid QVariant if null.
static QJsonValue intOrNull(const QVariant &value)
Return a QVariant integer as a JSON integer, or null if variant is null.
static QJsonValue uuidOrNull(const QUuid &uuid)
Return a UUID as a JSON string, or null if uuid is null.
static QJsonValue doubleOrNull(const QVariant &value)
Return a QVariant double as a JSON double, or null if variant is null.
static QJsonValue doubleStringOrNull(const QVariant &value, int precision=6)
Return a QVariant double formatted as a JSON string, or null if variant is null.
static QVariant doubleOrNull(const QJsonValue &value)
Extract a double QVariant from a JSON value, or invalid QVariant if null.
virtual void serializeIntoJsonObject(QJsonObject &object) const =0
Write this object's fields into an existing QJsonObject.
static QJsonValue arrayOrNull(const QStringList &value)
Return a string list as a JSON array, or null if list is empty.
Interface for objects that can serialize themselves to a QJsonArray.
virtual QJsonArray serializeToJsonArray() const =0
Serialize this object into a QJsonArray.
Interface for objects that can serialize themselves into a QJsonObject, with JSON helper utilities.
virtual QJsonObject serializeToJsonObject() const =0
Serialize this object into a QJsonObject.
static QJsonValue doubleOrNull(const QVariant &value)
Return a QVariant double as a JSON double, or null if variant is null.
static QVariant intOrNull(const QJsonValue &value)
Extract an integer QVariant from a JSON value, or invalid QVariant if null.
static QJsonValue arrayOrNull(const QStringList &value)
Return a string list as a JSON array, or null if list is empty.
static QJsonValue intOrNull(const QVariant &value)
Return a QVariant integer as a JSON integer, or null if variant is null.
static QJsonValue uuidOrNull(const QUuid &uuid)
Return a UUID as a JSON string, or null if uuid is null.
static QJsonValue stringOrNull(const QString &value)
Return a string as a JSON string, or null if value is empty.
static QVariant doubleOrNull(const QJsonValue &value)
Extract a double QVariant from a JSON value, or invalid QVariant if null.
static QJsonValue doubleStringOrNull(const QVariant &value, int precision=6)
Return a QVariant double formatted as a JSON string, or null if variant is null.
static QVariant doubleStringOrNull(const QJsonValue &value, int precision=6)
Parse a double from a JSON string value, or invalid QVariant if null.
Interfaces for serializing objects to JSON.
virtual QByteArray serializeToJson() const =0
Serialize this object to a JSON byte array.