QtJson之QJsonArray、QJsonObject与QString互转

xingyun86 2019-11-18 2329

QtJson之QJsonArray、QJsonObject与QString互转

#include <QCoreApplication>
#include <QJsonArray>
#include <QJsonDocument>
#include <QJsonObject>
#include <QDebug>

// QString >> QJsonObject
QJsonObject getJsonObjectFromString(const QString jsonString){
    QJsonDocument jsonDocument = QJsonDocument::fromJson(jsonString.toLocal8Bit().data());
    if(jsonDocument.isNull()){
        qDebug()<< "===> please check the string "<< jsonString.toLocal8Bit().data();
    }
    return jsonDocument.object();
}
// QString >> QJsonArray
QJsonArray getJsonArrayFromString(const QString jsonString){
    QJsonDocument jsonDocument = QJsonDocument::fromJson(jsonString.toLocal8Bit().data());
    if(jsonDocument.isNull()){
        qDebug()<< "===> please check the string "<< jsonString.toLocal8Bit().data();
    }
    return jsonDocument.array();
}
// QJsonObject >> QString
QString getStringFromJsonObject(const QJsonObject& jsonObject, QJsonDocument::JsonFormat format=QJsonDocument::JsonFormat::Compact){
    return QString(QJsonDocument(jsonObject).toJson(format));
}
// QJsonArray >> QString
QString getStringFromJsonArray(const QJsonArray& jsonArray, QJsonDocument::JsonFormat format=QJsonDocument::JsonFormat::Compact){
    return QString(QJsonDocument(jsonArray).toJson(format));
}

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    QJsonArray jsonArray;
    jsonArray.insert(0,QJsonValue("123456"));
    jsonArray.insert(1,QJsonValue("123456"));
    QString str = getStringFromJsonArray(jsonArray);
    qDebug() << str ;
    return a.exec();
}


×
打赏作者
最新回复 (0)
只看楼主
全部楼主
返回