json编码(对象列表)-要解码的字符串(对象列表)
我的单子太长了。所以,我编码并保存到数据库中。我想解码它。我该怎么做 编码方式json编码(对象列表)-要解码的字符串(对象列表),json,flutter,dart,Json,Flutter,Dart,我的单子太长了。所以,我编码并保存到数据库中。我想解码它。我该怎么做 编码方式 String shoppingCartToJson(List<ShoppingCartModel> data) => jsonEncode(data.map((i) => i.toMap()).toList()).toString(); 在您的ShoppingCartModel类中,您应该分别具有编码和解码、类型和来自动态的功能 因此,您的ShoppingCartModel类应该如下所示(假
String shoppingCartToJson(List<ShoppingCartModel> data) => jsonEncode(data.map((i) => i.toMap()).toList()).toString();
在您的
ShoppingCartModel
类中,您应该分别具有编码
和解码
、类型和来自动态
的功能
因此,您的ShoppingCartModel
类应该如下所示(假设类中的参数):
解码:
List<dynamic> decodedData = json.decode(strData);
List<ShoppingCartModel> dataDecodedList = List<ShoppingCartModel>.from(
dataDecoded.map((x) => ShoppingCartModel.fromJson(x)),
);
List decodedData=json.decode(strData);
List dataDecodedList=List.from(
dataDecoded.map((x)=>ShoppingCartModel.fromJson(x)),
);
您从一些外部远程api获得了json,对吗?为什么您要使用jsonEncode
?是否要将其传递给其他一些客户端?此列表正在本地创建。我将列表存储在数据库中。(列表太长,这就是我对其进行编码的原因)。当我需要的时候,我需要解码它。先生,你明白了吗?对不起,我的英语不好,你不需要编码任何东西:如果你的列表有1000个项目,那么在数据库中存储1000行,而不是一个巨大的编码字符串我在firestore上存储数据。Firestore 1文档是指1MB,对吗?。所以我需要解码…顺便说一句,在我现有的用户文档中的这个字段,你们能告诉我如何解码到对象列表中吗?
class ShoppingCartModel {
String itemId;
String itemName;
double quantity;
ShoppingCartModel.fromJson(Map<String, dynamic> json) {
if (json == null) return;
itemId = json['item_id'];
itemName = json['item_name'];
quantity = json['quantity'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['item_id'] = this.itemId;
data['item_name'] = this.itemName;
data['quantity'] = this.quantity;
return data;
}
}
json.encode(data);
List<dynamic> decodedData = json.decode(strData);
List<ShoppingCartModel> dataDecodedList = List<ShoppingCartModel>.from(
dataDecoded.map((x) => ShoppingCartModel.fromJson(x)),
);