如何序列化QJSonObject?

时间:2014-01-25 00:49:10

标签: json qt5.1

我是JSON的新手,我开始尝试使用它,但我无法保存任何QJsonObject或QJsonArrays。我是否正确,如果我想获得我的QjsonObject的Json格式,我必须序列化它?

基本上我想在json文件中保存我所有的QJsonObsject但它不起作用,这是我的代码

    QtJson::JsonObject ingredient;
    ingredient["name"] = newIngredient->GetName();
    ingredient["pirce"] = newIngredient->GetPrice();
    ingredient["date"] = newIngredient->GetDate();
    QByteArray data = Json::serialize(ingredient);

    qDebug() >> data;

就像我发现没有Json,而不是QJson,所以有什么serialize()函数可以使用吗? 谢谢,如果我使用了错误的条款,我很抱歉。

1 个答案:

答案 0 :(得分:11)

使用QJsonDocument序列化/反序列化JSON。见下文:

QJsonObject ingredient;
ingredient["name"] = QString("testName");
ingredient["date"] = QString("testDate");

QJsonDocument doc(ingredient);
QByteArray bytes = doc.toJson();

qDebug() << bytes;

此代码段将生成以下JSON输出:

{
"date": "testDate",
"name": "testName"
}