How to convert a QJsonObject to QString

后端 未结 3 2026
说谎
说谎 2020-12-25 12:38

I have a QJsonObject data and want to convert to QString. How can I do this? Searched for help in Qt, it only can convert QJsonObject to QVariantMap...

Thanks in adv

3条回答
  •  暗喜
    暗喜 (楼主)
    2020-12-25 13:01

    When the macro QT_NO_CAST_FROM_ASCII is enabled, you can do something like:

    QJsonDocument doc(jsonObject);
    QByteArray docByteArray = doc.toJson(QJsonDocument::Compact);
    QTextCodec *codec = QTextCodec::codecForName("UTF-8");
    Qstring strJson = codec->toUnicode(docByteArray);
    

    Or better, just use QLatin1String(QByteArray&), based on the example of TheDarkKnight:

    QJsonDocument doc(jsonObj);
    QByteArray docByteArray = doc.toJson(QJsonDocument::Compact);
    Qstring strJson = QLatin1String(docByteArray);
    

提交回复
热议问题