1

使用 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”和“4”,具体取决于连接的内容。

4

1 回答 1

0

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

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

有点冗长,是的,其他任何人都想出一个更好的解决方案然后可以发布它。

于 2014-09-16T11:49:53.447 回答