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;
これにより、空の接続 ID が返されます。
いいえ、ここでリストを使用することはできません。接続されているものによっては、シェルブ ID が「1」と「4」の場合があるためです。