qt qstring qjsonobject

qt - Cómo convertir un QJsonObject a QString



(2)

Tengo datos de QJsonObject y quiero convertir a QString. ¿Cómo puedo hacer esto? Buscó ayuda en Qt, solo puede convertir QJsonObject a QVariantMap ...

Gracias por adelantado.


Cuando la macro QT_NO_CAST_FROM_ASCII está habilitada, puedes hacer algo como:

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

O mejor, solo use QLatin1String(QByteArray&) , basado en el ejemplo de TheDarkKnight :

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


Recordando la primera vez que tuve que hacer esto, la documentación puede faltar un poco y se supone que tienes conocimiento de otras clases de QJson.

Para obtener una QString de un QJsonObject, necesita usar la clase QJsonDocument, como esto:

QJsonObject jsonObj; // assume this has been populated with Json data QJsonDocument doc(jsonObj); QString strJson(doc.toJson(QJsonDocument::Compact));