【发布时间】:2020-07-26 11:30:43
【问题描述】:
我有以下 JSON 文件:
{
"users":[
{"nom":"123",
"name":"John",
"family":"ala",
"cash":1000
}
,{"nom":"456",
"name":"Joe",
"family":"ala",
"cash":1000
}
,{"nom":"131",
"name":"David",
"family":"ala",
"cash":1000
}]
}
我想换John的现金。
这就是我试图实现这一目标的方式:
QFile f("file address ...");
f.open(QIODevice::ReadOnly|QIODevice::Text|QIODevice::WriteOnly);
QByteArray b=f.readAll();
QJsonDocument d=QJsonDocument::fromJson(b);
QJsonObject o=d.object();
for (int i=0;i<o["users"].toArray().size();i++) {
if(o["users"].toArray()[i].toObject()["name"].toString()=="John")
o["users"].toArray()[i].toObject()["cash"].toInt()=2000;//error unable to assign
}
但是,我收到以下错误:
错误:无法分配
如何解决这个问题?
【问题讨论】:
-
使用 lib 并将字符串(反序列化)转换为 json 对象,您可以通过键、值、索引等轻松访问该对象
-
@ΦXocę웃Пepeúpaツ OP 正在使用
QJsonDocument和QJsonObject做同样的事情。问题是,这是如何读取值,而不是如何写入。 -
@Lily,你可能想看看JSON Save Game Example。
-
提示:删除
.toInt()。