当选择特定选项的属性时,我有一个选项列表,然后将属性对象保存在列表中选项的所选位置。 现在我有一个带有其选定属性对象的选项列表。我的目的是将选项列表转换为JSON对象,但是当属性不为null时。在这种情况下,如果人们没有选择选项的属性,则Attribute对象可以为null。
class OptionAttribute{
String _grouprowid;
String _groupname;
Attribute _selectedAttrObject
Map<String, dynamic> toJson() => {
'attribute': _selectedAttrObject,
};
}
class Attribute{
String _attributerowid;
String _grouprowid;
String _attributename;
String _weight;
Map<String, dynamic> toJsonAttr() => {
'attrid': _attributerowid,
'groupid': _grouprowid,
'attrname': _attributename
};
}
当列表没有任何null属性时,我想将下面的列表转换为JSON对象。
List<OptionAttribute> opAtrrList=new List<OptionAttribute>();
答案 0 :(得分:2)
您需要分别转换每个项目
var json = jsonEncode(opAttrList.map((e) => e.toJson()).toList());
或通过toEncodable
函数
var json = jsonEncode(opAttrList, toEncodable: (e) => e.toJsonAttr());