如何将一组对象放到Json。似乎这些代码根本不好用
Future<File> writeBasket(Set<Item> listItems) async {
final file = await _localFile;
var jsonString = listItems.map((Item item) {
return jsonEncode(item);
});
return file.writeAsString(jsonString.toString());
}
答案 0 :(得分:0)
确保Item
具有toJson
方法,例如:
class Item {
String val1;
Item(this.val1);
Map<String, dynamic> toJson() => {'val1': val1};
}
与json中的集合最接近的等效项是列表,因此请在调用json.encode
之前将您的集合转换为列表。
Set<Item> items = Set<Item>()..add(Item('xxx'))..add(Item('yyy'));
String j = json.encode(items.toList());
print(j);
打印[{"val1":"xxx"},{"val1":"yyy"}]
,您可以将其保存到文件中。