如何在Dart / Flutter中正确地对地图进行序列化/反序列化?

您能否说明如何在dart中将地图<>序列化/反序列化到json /从json反序列化?例如,这是一个简单的数据类:

class SimpleData {
  int _blah;
  String _str;

  SimpleData([this._blah, this._str]);

  SimpleData.fromJson(Map<String, dynamic> json) {
    _blah = json['b'];
    _str = json['s'];
  }

  Map<String, dynamic> toJson() => {
    'b' : _blah,
    's' : _str,
  };
}

这是地图中使用的SimpleData类:

class MapTest {
  Map<int, SimpleData> _mapHell = Map<int, SimpleData>();

  MapTest() {
    _mapHell[1] = SimpleData(42, "Astfgl");
    _mapHell[666] = SimpleData(1234, "Vassenego");
  }

  MapTest.fromJson(Map<String, dynamic> json) {
    _mapHell = jsonDecode(json['coworkers']);
  }

  Map<String, dynamic> toJson() => {
    'coworkers' : jsonEncode(_mapHell),
  };
}

Now, when calling MapTest.toJson(), the following error is thrown:

将对象转换为可编码对象失败:_LinkedHashMap len:2

Do you have any ideas whats wrong with the toJson()/fromJson() methods? Thank you.