在 Map<dynamic,dynamic> 中添加 Maps Dart/Flutter

Alm*_*oen 5 dart flutter

我花了6 个小时试图将 Map<dynamic, dynamic> Contains添加 Map<dynamic, dynamic> 到 Another 中 Map<dynamic, dynamic>

如何像这样添加地图:

{
    map1:{
          map1_key1: map1_val1
          map1_key2: map1_val2
          map1_2:{
                  map1_3:{
                           map3_key1: map3_val1
                           map3_key1: map3_val2
                         }
                  map2_key1: map2_val1
                  map2_key1: map2_val2
                 }

          map1_key3: map1_val3
         }
}
Run Code Online (Sandbox Code Playgroud)

重复在名为 的地图内masterMap,并像任何其他地图一样访问其中的每个键/值?

  • 我试过这个
  • 我试过这个
  • 我试过这个
  • 我试过这个

    • 尝试 addAll() 函数给我在 null 上调用的错误..
    • 尝试了 addEntries() 函数给了我

      The argument type 'Map<dynamic, dynamic>' can't be assigned to the parameter type 'Iterable<MapEntry<dynamic, dynamic>>'
      
      Run Code Online (Sandbox Code Playgroud)

没有任何作用,我需要帮助,这是非常糟糕和愚蠢的事情,为什么没有简单的函数将所有地图键/值与另一个合并,就这么简单吗?!

更新: 我的代码:

Map<dynamic, dynamic> theSnapShot;
theSnapShot = {
  'map1': {
          '-LyUAD8B0LpKZ-5-cRn-': {
                   'CoordsMap': [null, {'FirstCoords': '30.088,31.279',}]
                                  }
          }
             };
Map<dynamic, dynamic> masterMap;
masterMap.addAll(Map.from(theSnapShot['map1']));
Run Code Online (Sandbox Code Playgroud)

输出:

Unhandled Exception: NoSuchMethodError: The method 'addAll()' was called on null.
Run Code Online (Sandbox Code Playgroud)

Moh*_*yed 3

很简单,
您在这里有两个选择,第一个:定义键然后为其分配值

Map someThing = {
    "someThing2":{
      'key1': 'val1',
      'key2': 'val2',
      'key3': {},
    }
  };
// {someThing2: {key1: val1, key2: val2, key3: {}}}
someThing['someThing2']['key3'] = {
    'someThing3': {
          'key4': 'val4',
        },
  };
// {someThing2: {key1: val1, key2: val2, key3: {someThing3: {key4: val4}}}}
Run Code Online (Sandbox Code Playgroud)

第二个选项是添加键和值,如下所示

Map someThing = {
    "someThing2":{
      'key1': 'val1',
      'key2': 'val2',
    }
  };

someThing['someThing2'].putIfAbsent('key4', () => {
    'someThing3': {
          'key4': 'val4',
        },
  });
// {someThing2: {key1: val1, key2: val2, key4: {someThing3: {key4: val4}}}}
Run Code Online (Sandbox Code Playgroud)