#include <QJsonDocument>
#include <QJsonObject>
#include <QJsonArray>
#include <QVariantMap>
#include <QVariantList>
class JsonHelper
{
public:
static QString generateJson(const QVariantMap& data)
{
QJsonObject jsonObject = jsonObjectFromVariantMap(data);
QJsonDocument jsonDoc(jsonObject);
return jsonDoc.toJson(QJsonDocument::Compact);
}
static QVariantMap parseJson(const QString& jsonString)
{
QJsonDocument jsonDoc = QJsonDocument::fromJson(jsonString.toUtf8());
if (!jsonDoc.isNull())
{
QJsonValue rootValue = jsonDoc.object();
if (rootValue.isObject())
{
return variantMapFromJsonObject(rootValue.toObject());
}
else if (rootValue.isArray())
{
QVariantMap map;
map["array"] = variantListFromJsonArray(rootValue.toArray());
return map;
}
}
return QVariantMap();
}
private:
static QJsonObject jsonObjectFromVariantMap(const QVariantMap& variantMap)
{
Qt对json生成与解析的封装
于 2023-06-17 11:13:48 首次发布