Forked from
akiraohgaki / ocs-url
201 commits behind the upstream repository.
-
akiraohgaki authoredakiraohgaki authored
qtlib_json.cpp 1.72 KiB
/**
* qtlib
*
* @author Akira Ohgaki <akiraohgaki@gmail.com>
* @copyright Akira Ohgaki
* @license https://opensource.org/licenses/LGPL-3.0
* @link https://github.com/akiraohgaki/qtlib
*/
#include "qtlib_json.h"
#include <QJsonDocument>
#include <QJsonParseError>
namespace qtlib {
Json::Json(const QByteArray &json, QObject *parent)
: QObject(parent), json_(json)
{}
Json::Json(const QJsonObject &object, QObject *parent)
: QObject(parent)
{
fromObject(object);
}
Json::Json(const QJsonArray &array, QObject *parent)
: QObject(parent)
{
fromArray(array);
}
Json::Json(const Json &other, QObject *parent)
: QObject(parent)
{
setJson(other.json());
}
Json &Json::operator =(const Json &other)
{
setJson(other.json());
return *this;
}
QByteArray Json::json() const
{
return json_;
}
void Json::setJson(const QByteArray &json)
{
json_ = json;
}
void Json::fromObject(const QJsonObject &object)
{
setJson(QJsonDocument(object).toJson());
}
void Json::fromArray(const QJsonArray &array)
{
setJson(QJsonDocument(array).toJson());
}
QByteArray Json::toJson()
{
return QJsonDocument::fromJson(json()).toJson();
}
QJsonObject Json::toObject()