swift
Namespaces | Functions
json.h File Reference

Go to the source code of this file.

Namespaces

 swift::misc
 Free functions in swift::misc.
 

Functions

template<class ENUM >
std::enable_if_t< std::is_enum_v< ENUM >, QJsonValue > const & operator>> (const QJsonValue &json, ENUM &value)
 Specialized JSON deserialization for enum.
 
template<class ENUM >
const QJsonValue & operator>> (const QJsonValue &json, QFlags< ENUM > &value)
 Specialized JSON deserialization for QFlags enum.
 
template<class ENUM , typename = std::enable_if_t<std::is_enum_v<ENUM>>>
QJsonValueRef operator>> (QJsonValueRef json, ENUM &value)
 Specialized JSON deserialization for enum.
 
template<class ENUM >
QJsonValueRef operator>> (QJsonValueRef json, QFlags< ENUM > &value)
 Specialized JSON deserialization for QFlags enum.
 
template<class FIRST , class SECOND >
QJsonValueRef operator>> (QJsonValueRef json, std::pair< FIRST, SECOND > &pair)
 Specialized JSON deserialization for pair.
 
template<class FIRST , class SECOND >
QJsonArray & operator<< (QJsonArray &json, const std::pair< FIRST, SECOND > &pair)
 Specialized JSON serialization for pair.
 
QJsonObject & swift::misc::json::appendJsonObject (QJsonObject &target, const QJsonObject &toBeAppended)
 Append to first JSON object (concatenate)
 
QJsonObject swift::misc::json::jsonObjectFromString (const QString &json, bool acceptCacheFormat=false)
 JSON Object from string.
 
QString swift::misc::json::stringFromJsonObject (const QJsonObject &jsonObject, QJsonDocument::JsonFormat format=QJsonDocument::Indented)
 JSON Object from string.
 
QJsonArray swift::misc::json::jsonArrayFromString (const QString &json)
 JSON Array from string.
 
QString swift::misc::json::firstJsonValueAsString (const QString &json)
 First JSON string object marked as "value".
 
QString swift::misc::json::firstJsonValueAsString (const QJsonObject &json)
 First JSON string object marked as "value".
 
int swift::misc::json::firstJsonValueAsInt (const QString &json, int defaultValue=-1, bool *ok=nullptr)
 First JSON string object marked as "value".
 
int swift::misc::json::firstJsonValueAsInt (const QJsonObject &json, int defaultValue=-1, bool *ok=nullptr)
 First JSON string object marked as "value".
 
QStringList swift::misc::json::firstJsonValueAsStringList (const QString &json)
 First JSON string list object marked as "value".
 
QStringList swift::misc::json::firstJsonValueAsStringList (const QJsonObject &json)
 First JSON string list object marked as "value".
 
QStringList swift::misc::json::arrayToQStringList (const QJsonArray &array)
 JSON array to QStringList.
 
QJsonObject swift::misc::json::getIncrementalObject (const QJsonObject &previousObject, const QJsonObject &currentObject)
 Creates an incremental json object from two existing objects.
 
QJsonObject swift::misc::json::applyIncrementalObject (const QJsonObject &previousObject, const QJsonObject &incrementalObject)
 Merges an incremental json object into an existing one.
 
bool swift::misc::json::looksLikeJson (const QString &json)
 Looks like swift JSON? More...
 
bool swift::misc::json::looksLikeSwiftJson (const QString &json)
 Looks like swift JSON? More...
 
bool swift::misc::json::looksLikeSwiftContainerJson (const QJsonObject &object)
 Looks like a valid swift container JSON object?
 
bool swift::misc::json::looksLikeSwiftDataObjectJson (const QJsonObject &object)
 Looks like a cache/setting object?
 
bool swift::misc::json::looksLikeSwiftTypeValuePairJson (const QJsonObject &object)
 Looks like a swift type/value pair?
 
bool swift::misc::json::looksLikeSwiftDbJson (const QJsonObject &object)
 Looks like a swift DB format?
 
QJsonObject swift::misc::json::swiftDataObjectValue (const QJsonObject &object)
 The value part of a cache/setting object. More...
 
QJsonObject swift::misc::json::swiftDataObjectValue (const QString &jsonString)
 The value of a cache/setting object. More...
 
QJsonObject swift::misc::json::unwrapCache (const QJsonObject &object)
 The type/value of a cache/setting object. More...
 
QJsonObject swift::misc::json::unwrapCache (const QString &jsonString)
 The type/value object of a cache/setting object. More...
 
template<class T >
bool swift::misc::json::loadFromJsonFile (T &object, const QString &fileNameAndPath, bool acceptCacheFormat=false)
 Load JSON file and init by that.
 
template<class T >
bool swift::misc::json::saveToJsonFile (const T &object, const QString &fileNameAndPath)
 Save to JSON file.
 
SWIFT_MISC_EXPORT const QJsonValue & operator>> (const QJsonValue &json, int &value)
 Streaming operators for QJsonValue (to value)
 
SWIFT_MISC_EXPORT const QJsonValue & operator>> (const QJsonValue &json, qlonglong &value)
 Streaming operators for QJsonValue (to value)
 
SWIFT_MISC_EXPORT const QJsonValue & operator>> (const QJsonValue &json, qulonglong &value)
 Streaming operators for QJsonValue (to value)
 
SWIFT_MISC_EXPORT const QJsonValue & operator>> (const QJsonValue &json, uint &value)
 Streaming operators for QJsonValue (to value)
 
SWIFT_MISC_EXPORT const QJsonValue & operator>> (const QJsonValue &json, qint16 &value)
 Streaming operators for QJsonValue (to value)
 
SWIFT_MISC_EXPORT const QJsonValue & operator>> (const QJsonValue &json, QString &value)
 Streaming operators for QJsonValue (to value)
 
SWIFT_MISC_EXPORT const QJsonValue & operator>> (const QJsonValue &json, QStringList &value)
 Streaming operators for QJsonValue (to value)
 
SWIFT_MISC_EXPORT const QJsonValue & operator>> (const QJsonValue &json, std::string &value)
 Streaming operators for QJsonValue (to value)
 
SWIFT_MISC_EXPORT const QJsonValue & operator>> (const QJsonValue &json, double &value)
 Streaming operators for QJsonValue (to value)
 
SWIFT_MISC_EXPORT const QJsonValue & operator>> (const QJsonValue &json, bool &value)
 Streaming operators for QJsonValue (to value)
 
SWIFT_MISC_EXPORT const QJsonValue & operator>> (const QJsonValue &json, QDateTime &value)
 Streaming operators for QJsonValue (to value)
 
SWIFT_MISC_EXPORT const QJsonValue & operator>> (const QJsonValue &json, QPixmap &value)
 Streaming operators for QJsonValue (to value)
 
SWIFT_MISC_EXPORT const QJsonValue & operator>> (const QJsonValue &json, QByteArray &value)
 Streaming operators for QJsonValue (to value)
 
SWIFT_MISC_EXPORT QJsonValueRef operator>> (QJsonValueRef json, int &value)
 Streaming operators for QJsonValue (to value)
 
SWIFT_MISC_EXPORT QJsonValueRef operator>> (QJsonValueRef json, qlonglong &value)
 Streaming operators for QJsonValue (to value)
 
SWIFT_MISC_EXPORT QJsonValueRef operator>> (QJsonValueRef json, qulonglong &value)
 Streaming operators for QJsonValue (to value)
 
SWIFT_MISC_EXPORT QJsonValueRef operator>> (QJsonValueRef json, uint &value)
 Streaming operators for QJsonValue (to value)
 
SWIFT_MISC_EXPORT QJsonValueRef operator>> (QJsonValueRef json, qint16 &value)
 Streaming operators for QJsonValue (to value)
 
SWIFT_MISC_EXPORT QJsonValueRef operator>> (QJsonValueRef json, QString &value)
 Streaming operators for QJsonValue (to value)
 
SWIFT_MISC_EXPORT QJsonValueRef operator>> (QJsonValueRef json, std::string &value)
 Streaming operators for QJsonValue (to value)
 
SWIFT_MISC_EXPORT QJsonValueRef operator>> (QJsonValueRef json, QStringList &value)
 Streaming operators for QJsonValue (to value)
 
SWIFT_MISC_EXPORT QJsonValueRef operator>> (QJsonValueRef json, double &value)
 Streaming operators for QJsonValue (to value)
 
SWIFT_MISC_EXPORT QJsonValueRef operator>> (QJsonValueRef json, bool &value)
 Streaming operators for QJsonValue (to value)
 
SWIFT_MISC_EXPORT QJsonValueRef operator>> (QJsonValueRef json, QDateTime &value)
 Streaming operators for QJsonValue (to value)
 
SWIFT_MISC_EXPORT QJsonValueRef operator>> (QJsonValueRef json, QPixmap &value)
 Streaming operators for QJsonValue (to value)
 
SWIFT_MISC_EXPORT QJsonValueRef operator>> (QJsonValueRef json, QByteArray &value)
 Streaming operators for QJsonValue (to value)
 
template<class ENUM >
std::enable_if_t< std::is_enum_v< ENUM >, QJsonObject > & operator<< (QJsonObject &json, std::pair< QString, const ENUM & > value)
 Specialized JSON serialization for enum. More...
 
template<class ENUM >
std::enable_if_t< std::is_enum_v< ENUM >, QJsonObject > & operator<< (QJsonObject &json, std::pair< swift::misc::CExplicitLatin1String, const ENUM & > value)
 Specialized JSON serialization for enum. More...
 
template<class ENUM >
QJsonObject & operator<< (QJsonObject &json, std::pair< QString, const QFlags< ENUM > & > value)
 Specialized JSON serialization for QFlags generated enum.
 
template<class ENUM >
QJsonObject & operator<< (QJsonObject &json, std::pair< swift::misc::CExplicitLatin1String, const QFlags< ENUM > & > value)
 Specialized JSON serialization for QFlags generated enum.
 
SWIFT_MISC_EXPORT QJsonArray & operator<< (QJsonArray &json, const int value)
 Streaming operators for QJsonArray (from value)
 
SWIFT_MISC_EXPORT QJsonArray & operator<< (QJsonArray &json, const std::pair< QString, qint16 > &value)
 Streaming operators for QJsonArray (from value)
 
SWIFT_MISC_EXPORT QJsonArray & operator<< (QJsonArray &json, const qlonglong value)
 Streaming operators for QJsonArray (from value)
 
SWIFT_MISC_EXPORT QJsonArray & operator<< (QJsonArray &json, const uint value)
 Streaming operators for QJsonArray (from value)
 
SWIFT_MISC_EXPORT QJsonArray & operator<< (QJsonArray &json, const qulonglong value)
 Streaming operators for QJsonArray (from value)
 
SWIFT_MISC_EXPORT QJsonArray & operator<< (QJsonArray &json, const QString &value)
 Streaming operators for QJsonArray (from value)
 
SWIFT_MISC_EXPORT QJsonArray & operator<< (QJsonArray &json, const std::string &value)
 Streaming operators for QJsonArray (from value)
 
SWIFT_MISC_EXPORT QJsonArray & operator<< (QJsonArray &json, const double value)
 Streaming operators for QJsonArray (from value)
 
SWIFT_MISC_EXPORT QJsonArray & operator<< (QJsonArray &json, const bool value)
 Streaming operators for QJsonArray (from value)
 
SWIFT_MISC_EXPORT QJsonArray & operator<< (QJsonArray &json, const QDateTime &value)
 Streaming operators for QJsonArray (from value)
 
SWIFT_MISC_EXPORT QJsonArray & operator<< (QJsonArray &json, const QPixmap &value)
 Streaming operators for QJsonArray (from value)
 
SWIFT_MISC_EXPORT QJsonArray & operator<< (QJsonArray &json, const QByteArray &value)
 Streaming operators for QJsonArray (from value)
 
SWIFT_MISC_EXPORT QJsonObject & operator<< (QJsonObject &json, const std::pair< QString, const int & > &value)
 Streaming operators for QJsonObject (from value)
 
SWIFT_MISC_EXPORT QJsonObject & operator<< (QJsonObject &json, const std::pair< QString, const qint16 & > &value)
 Streaming operators for QJsonObject (from value)
 
SWIFT_MISC_EXPORT QJsonObject & operator<< (QJsonObject &json, const std::pair< QString, const qlonglong & > &value)
 Streaming operators for QJsonObject (from value)
 
SWIFT_MISC_EXPORT QJsonObject & operator<< (QJsonObject &json, const std::pair< QString, const uint & > &value)
 Streaming operators for QJsonObject (from value)
 
SWIFT_MISC_EXPORT QJsonObject & operator<< (QJsonObject &json, const std::pair< QString, const qulonglong & > &value)
 Streaming operators for QJsonObject (from value)
 
SWIFT_MISC_EXPORT QJsonObject & operator<< (QJsonObject &json, const std::pair< QString, const QString & > &value)
 Streaming operators for QJsonObject (from value)
 
SWIFT_MISC_EXPORT QJsonObject & operator<< (QJsonObject &json, const std::pair< QString, const std::string & > &value)
 Streaming operators for QJsonObject (from value)
 
SWIFT_MISC_EXPORT QJsonObject & operator<< (QJsonObject &json, const std::pair< QString, const QStringList & > &value)
 Streaming operators for QJsonObject (from value)
 
SWIFT_MISC_EXPORT QJsonObject & operator<< (QJsonObject &json, const std::pair< QString, const double & > &value)
 Streaming operators for QJsonObject (from value)
 
SWIFT_MISC_EXPORT QJsonObject & operator<< (QJsonObject &json, const std::pair< QString, const bool & > &value)
 Streaming operators for QJsonObject (from value)
 
SWIFT_MISC_EXPORT QJsonObject & operator<< (QJsonObject &json, const std::pair< QString, const QDateTime & > &value)
 Streaming operators for QJsonObject (from value)
 
SWIFT_MISC_EXPORT QJsonObject & operator<< (QJsonObject &json, const std::pair< QString, const QPixmap & > &value)
 Streaming operators for QJsonObject (from value)
 
SWIFT_MISC_EXPORT QJsonObject & operator<< (QJsonObject &json, const std::pair< QString, const QByteArray & > &value)
 Streaming operators for QJsonObject (from value)
 
SWIFT_MISC_EXPORT QJsonObject & operator<< (QJsonObject &json, const std::pair< swift::misc::CExplicitLatin1String, const int & > &value)
 Streaming operators for QJsonObject (from value)
 
SWIFT_MISC_EXPORT QJsonObject & operator<< (QJsonObject &json, const std::pair< swift::misc::CExplicitLatin1String, const qint16 & > &value)
 Streaming operators for QJsonObject (from value)
 
SWIFT_MISC_EXPORT QJsonObject & operator<< (QJsonObject &json, const std::pair< swift::misc::CExplicitLatin1String, const qlonglong & > &value)
 Streaming operators for QJsonObject (from value)
 
SWIFT_MISC_EXPORT QJsonObject & operator<< (QJsonObject &json, const std::pair< swift::misc::CExplicitLatin1String, const uint & > &value)
 Streaming operators for QJsonObject (from value)
 
SWIFT_MISC_EXPORT QJsonObject & operator<< (QJsonObject &json, const std::pair< swift::misc::CExplicitLatin1String, const qulonglong & > &value)
 Streaming operators for QJsonObject (from value)
 
SWIFT_MISC_EXPORT QJsonObject & operator<< (QJsonObject &json, const std::pair< swift::misc::CExplicitLatin1String, const QString & > &value)
 Streaming operators for QJsonObject (from value)
 
SWIFT_MISC_EXPORT QJsonObject & operator<< (QJsonObject &json, const std::pair< swift::misc::CExplicitLatin1String, const std::string & > &value)
 Streaming operators for QJsonObject (from value)
 
SWIFT_MISC_EXPORT QJsonObject & operator<< (QJsonObject &json, const std::pair< swift::misc::CExplicitLatin1String, const QStringList & > &value)
 Streaming operators for QJsonObject (from value)
 
SWIFT_MISC_EXPORT QJsonObject & operator<< (QJsonObject &json, const std::pair< swift::misc::CExplicitLatin1String, const double & > &value)
 Streaming operators for QJsonObject (from value)
 
SWIFT_MISC_EXPORT QJsonObject & operator<< (QJsonObject &json, const std::pair< swift::misc::CExplicitLatin1String, const bool & > &value)
 Streaming operators for QJsonObject (from value)
 
SWIFT_MISC_EXPORT QJsonObject & operator<< (QJsonObject &json, const std::pair< swift::misc::CExplicitLatin1String, const QDateTime & > &value)
 Streaming operators for QJsonObject (from value)
 
SWIFT_MISC_EXPORT QJsonObject & operator<< (QJsonObject &json, const std::pair< swift::misc::CExplicitLatin1String, const QPixmap & > &value)
 Streaming operators for QJsonObject (from value)
 
SWIFT_MISC_EXPORT QJsonObject & operator<< (QJsonObject &json, const std::pair< swift::misc::CExplicitLatin1String, const QByteArray & > &value)
 Streaming operators for QJsonObject (from value)
 
QDataStream & operator<< (QDataStream &s, const std::string &v)
 Streaming operators for QDataStream.
 
QDataStream & operator>> (QDataStream &s, std::string &v)
 Streaming operators for QDataStream.
 

Function Documentation

◆ looksLikeJson()

SWIFT_MISC_EXPORT bool swift::misc::json::looksLikeJson ( const QString &  json)

Looks like swift JSON?

Remarks
Quick check if the string could be a valid JSON string

Definition at line 485 of file json.cpp.

◆ looksLikeSwiftJson()

SWIFT_MISC_EXPORT bool swift::misc::json::looksLikeSwiftJson ( const QString &  json)

Looks like swift JSON?

Remarks
Quick check if the string could be a valid swift JSON string

Definition at line 492 of file json.cpp.

◆ swiftDataObjectValue() [1/2]

SWIFT_MISC_EXPORT QJsonObject swift::misc::json::swiftDataObjectValue ( const QJsonObject &  object)

The value part of a cache/setting object.

Remarks
if data object unstrip from that, otherwise leave unchanged
this is the value ONLY!

Definition at line 518 of file json.cpp.

◆ swiftDataObjectValue() [2/2]

SWIFT_MISC_EXPORT QJsonObject swift::misc::json::swiftDataObjectValue ( const QString &  jsonString)

The value of a cache/setting object.

Remarks
if data object unstrip from that, otherwise leave unchanged
this is the value ONLY!

Definition at line 511 of file json.cpp.

◆ unwrapCache() [1/2]

SWIFT_MISC_EXPORT QJsonObject swift::misc::json::unwrapCache ( const QJsonObject &  object)

The type/value of a cache/setting object.

Remarks
if cache object unstrip from that, otherwise leave unchanged
format is type/value

Definition at line 538 of file json.cpp.

◆ unwrapCache() [2/2]

SWIFT_MISC_EXPORT QJsonObject swift::misc::json::unwrapCache ( const QString &  jsonString)

The type/value object of a cache/setting object.

Remarks
if cache object unstrip from that, otherwise leave unchanged
format is type/value

Definition at line 552 of file json.cpp.