c++ - 解析 2D QVariantMap

标签 c++ json qt dictionary qvariant

使用QJson解析数据:

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

我想比这样做更快地遍历这张表。所有 map 都是 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。

不,我不能在这里使用列表,因为有时我们可能有一个搁置 ID 为“1”和“4”,具体取决于连接的内容。

最佳答案

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

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

有点冗长,是的,任何人都可以提出更好的解决方案然后发布。

关于c++ - 解析 2D QVariantMap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25867076/

相关文章:

javascript - 如何按键将 JSON 对象转换为 Javascript 数组过滤器?

jquery - 跨域请求和JQuery

json - 如何在 play framework 2.0 上将 scala 中的 mutableList 解析为 JSON?

qt - 如何实现基于树的 QComboBox

qt - 学习诺基亚应用从哪里开始?

c++ - 具有引用成员的类的默认移动构造函数

c++ - 覆盖运算符<<时的友元问题

c++ - 使用 Visual Studio 2013/2015 及更高版本在 MFC 应用程序中以 Windows XP 为目标

Qt 按钮占用其上的文本所需的空间

c++ - protobuf 消息持有对同一类型的另一条消息的引用