在Qt中编辑Json不是一项简单的任务,在本例中,使用
json["config"]
你得到一个
QJsonValueRef
QJsonObject
QJsonArray
,
int
,
QString
,等等。通过什么来获取下一个元素必须使用
toObject()
但是这个值是一个副本,所以如果您修改它,初始元素将不会被修改,您必须重新分配它。
QJsonObject json = CommonToolkit::Types::LoadJson(config);
QString osPath = "macos";
QJsonObject jparam{
{ "height", value.height() },
{ "left", value.left() },
{ "width", value.width() },
{ "top", value.top() }
};
QJsonObject config_obj = json["config"].toObject();
QJsonObject osPath_obj = config_obj[osPath].toObject();
QJsonObject screen_obj = osPath_obj["screen"].toObject();
screen_obj["main"] = jparam;
osPath_obj["screen"] = screen_obj;
config_obj[osPath] = osPath_obj;
json["config"] = config_obj;