Android 转换列表<;T>;飘飘然
我有一个选项列表当从特定选项中选择属性时,我会将属性对象保存在列表中选项的选定位置。 现在,我有了一个选项列表,其中包含选定的属性对象。我的目标是将选项列表转换为JSON对象,但属性不为null。在这种情况下,当用户未选择选项的属性时,属性对象可以为nullAndroid 转换列表<;T>;飘飘然,android,json,dart,flutter,Android,Json,Dart,Flutter,我有一个选项列表当从特定选项中选择属性时,我会将属性对象保存在列表中选项的选定位置。 现在,我有了一个选项列表,其中包含选定的属性对象。我的目标是将选项列表转换为JSON对象,但属性不为null。在这种情况下,当用户未选择选项的属性时,属性对象可以为null class OptionAttribute{ String _grouprowid; String _groupname; Attribute _selectedAttrObject Map<String, dynami
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
};
}
class OptionAttribute{
字符串_grouprowid;
字符串_groupname;
属性_selectedAttrObject
映射到JSON()=>{
“属性”:\u选择的属性对象,
};
}
类属性{
字符串_attributerowid;
字符串_grouprowid;
字符串_attributename;
线重;
映射到jsonattr()=>{
'属性ID':_attributerowid,
“groupid”:_grouprowid,
“attrname”:\u attributename
};
}
当列表没有任何null属性时,我想将下面的列表转换为JSON对象
List<OptionAttribute> opAtrrList=new List<OptionAttribute>();
List opatrlist=new List();
您需要分别转换每个项目
var json = jsonEncode(opAttrList.map((e) => e.toJson()).toList());
或者将传递给encodable
函数
var json = jsonEncode(opAttrList, toEncodable: (e) => e.toJsonAttr());
显示“MappedListIterable”的
实例的错误,其中我做错了“属性”:\u selectedAttrObject,
应该是“属性”:\u selectedAttrObject.toJsonAttr(),
现在显示错误将对象转换为可编码对象失败:添加?
的'Attribute'实例可能会执行的'Attribute':_selectedAttrObject?.toJson(),
或者如果您希望的'Attribute':null也被删除,请使用映射到json()=>\u selectedAttrObject!=无效的{'attribute':_selectedAttrObject,}:{}代码>很高兴听到:)