如何解决颤振如何编写一种从自定义类模型返回String列表的方法?
班级:
class Cart {
String id;
Product product;
String product_name;
double quantity;
List<Option> options;
String userId;
Cart();
Map toMap() {
var map = new Map<String,dynamic>();
map['product_name'] = product.name;
map["id"] = id;
map["quantity"] = quantity;
map["product_id"] = product.id;
map["price"] = product.price;
map["user_id"] = userId;
map["options"] = options.map((element) => element.id).toList();
map["userphone"] = currentUser.value.phone;
map["username"] = currentUser.value.name;
return map;
}
}
在上面的代码中,地图作为购物车类型返回。我想将其转换为List的类型,并在调用时以相同的方式返回。如何实现?
该方法的预期输出为动态值。该WHOLE值将作为元素添加到列表中的特定位置:
[product_name: coke,id: 22,quantity: 1.0,product_id: 139,price: 20.0,user_id: 138,options: [],userphone: 9898565621,username: jamie]
解决方法
您可以在调用API时列出这样的列表
http.Response response = await http.get(
EndPoint.Book,);
if (response.statusCode == 200) {
var parsed = jsonDecode(response.body);
var bookData = parsed['books'];
List<Cart> cart= bookData.map<Cart>((e) => Cart.fromJson(e)).toList();
print(data);
return data;
}
并使用https://javiercbk.github.io/json_to_dart/或https://pub.dev/packages/json_serializable创建数据类。
,我创建了一个带有字符串值的示例图进行测试,这是代码,
var map = new Map<String,dynamic>();
map['product_name'] = 'product.name';
map["id"] = 'id';
map["quantity"] = 'quantity';
map["product_id"] = 'product.id';
map["price"] = 'product.price';
map["user_id"] = 'userId';
map["options"] = 'abc';
map["userphone"] = 'currentUser.value.phone';
map["username"] = 'currentUser.value.name';
var keys = map.keys.toList();
var values = map.values.toList();
List result = List();
int i = 0;
values.map((value){
result.add({keys[i] : values[i]});
i++;
}).toList();
print(result);
//you can return result here
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。