Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 解析2D QVariantMap_C++_Json_Qt_Map_Qvariant - Fatal编程技术网

C++ 解析2D QVariantMap

C++ 解析2D QVariantMap,c++,json,qt,map,qvariant,C++,Json,Qt,Map,Qvariant,使用QJson解析此数据: "ShelveId": { "0": { "BeBoardId": { "0": { "connectionId": "board0", .... followed by more data 我想比这更快地穿过这张桌子。所有地图均为QVariantMaps: map_BeBoardId = map_ShelveId["0"].toMap(); map_BeBoardId = map_BeBoardId["BeBoardId"

使用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


不,我不能在这里使用列表,因为有时根据连接的内容,我们可能会有一个1和4的搁置Id。

对于疲惫的旅行者,经过各种尝试后,我得出了以下结论:

auto temp = map_BeBoardId.value("0").toMap().value("connectionId").toString();
有点啰嗦,是的,其他人想出了更好的解决方案,然后就可以发布了