这是在文档中:
http://doc.qt.io/qt-5/qjsonobject.html#QJsonObject-1
这表明我可以做到:
QJsonObject o
{
{"x", 1},
{"y", 2}
}
......然而,这是有效的
QJsonObject o
{
{"x", { "value", 1 } },
{"y", { "value", 2 } }
}
不编译。我错过了什么?
答案 0 :(得分:2)
你必须在初始化列表{}前面指定类型(QJsonObject或QJsonArray),编译器无法猜出你想要的那个。
QJsonObject o
{
{"x", QJsonObject { {"key", "value"} }}
};
答案 1 :(得分:0)
您还可以使用C ++ 11 raw string literal尝试这种方法:
const QByteArray object = R"(
{
"x": { "value": "1" },
"y": { "value": "2" }
}
)";
QJsonObject jsonObject = QJsonDocument::fromJson(object).object();
qDebug() << jsonObject;