2013-07-16 48 views
0

使用qt 5.0並支持QJsonObject QJsonDocument和QJsonArray等類。在我的程序中,我需要序列化json數組並將其轉換爲qstring/qbytearray,但是我沒有在這些類中找到任何序列化或編碼方法。有什麼辦法可以使用包含qt 5.0序列化數據。庫?我發現這個例子:Qt 5.0 Json編碼

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

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

但我找不到我怎麼能從它做出一個數組。

+0

我從來沒有使用qt自己,所以我不會發布這個答案。我對文檔[http://qt-project.org/doc/qt-5.0/qtcore/qjsonobject.html](http://qt-project.org/doc/qt-5.0/qtcore/qjsonobject)進行了快速搜索.html),看起來你可以像這樣創建一個數組:''json.insert(「id」,QJsonArray());'QJsonValue類有一個QJsonArray的轉換構造函數。當然,你會想設置QJsonArray而不是插入默認的。 –

+0

但我如何將完整的JSON對象與所有的鍵/和數組轉換爲字符串? – SirLanceloaaat

+0

參見[http://qt-project.org/doc/qt-5.0/qtcore/qjsondocument.html](http://qt-project.org/doc/qt-5.0/qtcore/qjsondocument.html)。看起來你需要實例化一個QJsonDocument並獲取它的原始數據。 'QJsonDocument文件; Doc.SetObject(JSON); int大小; const char * RawJson = Doc.rawData(&Size);' –

回答

0

問題已關閉。使用QJsonDocument :: toJson從QJsonObject獲取數據。