2013-07-16 2 views
0

Im utilisant qt 5.0 et sa prise en charge des classes telles que QJsonObject QJsonDocument et QJsonArray. Dans mon programme, j'ai besoin de sérialiser json array et de le convertir en qstring/qbytearray mais je n'ai trouvé aucune méthode de sérialisation ou d'encodage dans ces classes. Est-il possible de sérialiser les données en utilisant qt 5.0 inclus. libs? J'ai trouvé cet exemple:Qt 5.0 Codage Json

QVariant id(1), name("John Doe"); 
QJsonObject json; 

json["Name"] = name.toString(); 
json.insert("id", id.toInt()); 

Mais je ne peux pas trouver comment je peux en faire un tableau.

+0

Je n'ai jamais utilisé qt moi-même, donc je ne poste pas cela comme une réponse. J'ai fait une recherche rapide sur la documentation [http://qt-project.org/doc/qt-5.0/qtcore/qjsonobject.html](http://qt-project.org/doc/qt-5.0/qtcore/qjsonobject .html) et il semble que vous pouvez créer un tableau comme ceci: 'json.insert (" id ", QJsonArray());' La classe QJsonValue a un constructeur de conversion à partir d'un QJsonArray. Bien sûr, vous voudrez configurer le QJsonArray au lieu d'en insérer un par défaut. –

+0

mais comment puis-je convertir un objet json complet avec toutes les clés/et tableaux en chaîne? – SirLanceloaaat

+0

Voir [http://qt-project.org/doc/qt-5.0/qtcore/qjsondocument.html] (https://qt-project.org/doc/qt-5.0/qtcore/qjsondocument.html). On dirait que vous devez instancier un QJsonDocument et obtenir ses données brutes. 'QJsonDocument Doc; Doc.SetObject (json); int Taille; const char * RawJson = Doc.rawData (&Size); ' –

Répondre

0

Question classée. Utilisez QJsonDocument :: toJson pour obtenir des données de QJsonObject.