Parsing a 2D QVariantMap

Parsing a 2D QVariantMap

本文关键字:QVariantMap 2D Parsing      更新时间:2023-10-16

使用QJson解析此数据:

"ShelveId": {
  "0": {
    "BeBoardId": {
      "0": {
        "connectionId": "board0", .... followed by more data

我想比这样做更快地浏览这张桌子。所有地图均为QVariantMaps:

map_BeBoardId = map_ShelveId["0"].toMap();
map_BeBoardId = map_BeBoardId["BeBoardId"].toMap();
auto temp = map_BeBoardId["0"].toMap();
m_connectionId = temp["connectionId"].toString();
qDebug() << m_connectionId;

它起作用,并正确地返回我的connectionId"board0"。

我想做的是这样的事情:

map_BeBoardId = map_ShelveId["0"].toMap();
map_BeBoardId = map_BeBoardId["BeBoardId", "0"].toMap();
m_connectionId = map_BeBoardId["connectionId"].toString();
qDebug() << m_connectionId;

这会返回一个空的connectionId。

不,我不能在这里使用列表,因为有时我们的Shelve Id可能为"1"answers"4",这取决于连接的内容。

对于疲惫的旅行者来说,经过各种尝试,这就是我想到的:

auto temp = map_BeBoardId.value("0").toMap().value("connectionId").toString();

有点冗长,是的,其他人提出了更好的解决方案,然后就可以发布了。