From 5f9e6354e5cb1fad638d49066dc94d7b7af71648 Mon Sep 17 00:00:00 2001 From: Akira Ohgaki <akiraohgaki@gmail.com> Date: Wed, 17 Aug 2016 12:44:19 +0900 Subject: [PATCH] Add utility/json class --- src/utility/json.cpp | 39 +++++++++++++++++++++++++++++++++++++++ src/utility/json.h | 22 ++++++++++++++++++++++ 2 files changed, 61 insertions(+) create mode 100644 src/utility/json.cpp create mode 100644 src/utility/json.h diff --git a/src/utility/json.cpp b/src/utility/json.cpp new file mode 100644 index 0000000..cbce058 --- /dev/null +++ b/src/utility/json.cpp @@ -0,0 +1,39 @@ +#include <QJsonDocument> +#include <QJsonObject> +#include <QJsonParseError> + +#include "json.h" + +namespace Utility { + +Json::Json(QObject *parent) : QObject(parent) +{} + +bool Json::isValid(const QString &json) +{ + QJsonParseError jsonError; + QJsonDocument::fromJson(json.toUtf8(), &jsonError); + if (jsonError.error == QJsonParseError::NoError) { + return true; + } + return false; +} + +QJsonObject Json::convertStrToObj(const QString &json) +{ + QJsonObject jsonObj; + QJsonParseError jsonError; + QJsonDocument jsonDoc = QJsonDocument::fromJson(json.toUtf8(), &jsonError); + if (jsonError.error == QJsonParseError::NoError && jsonDoc.isObject()) { + jsonObj = jsonDoc.object(); + } + return jsonObj; +} + +QString Json::convertObjToStr(const QJsonObject &jsonObj) +{ + QJsonDocument jsonDoc(jsonObj); + return QString::fromUtf8(jsonDoc.toJson()); +} + +} // namespace Utility diff --git a/src/utility/json.h b/src/utility/json.h new file mode 100644 index 0000000..68f100b --- /dev/null +++ b/src/utility/json.h @@ -0,0 +1,22 @@ +#ifndef UTILITY_JSON_H +#define UTILITY_JSON_H + +#include <QObject> + +namespace Utility { + +class Json : public QObject +{ + Q_OBJECT + +public: + explicit Json(QObject *parent = 0); + + static bool isValid(const QString &json); + static QJsonObject convertStrToObj(const QString &json); + static QString convertObjToStr(const QJsonObject &jsonObj); +}; + +} // namespace Utility + +#endif // UTILITY_JSON_H -- GitLab