如何解决如何读取json元素
我有一个json来读取项目并将其添加到列表中,但是foreach方法不起作用:( 我的 json 是:
{"elements":[{"id":9,"payVal":222,"payDate":"2021-08-10T19:30:00Z","isCharity":true,"imgFileUrls":[],"firstName":"Admin","lastName":"Admin","nationalCode":"2280113732","applicationUserId":"5701c92c-a1ee-4721-91de-08d932684d82"}],"totalElements":6}
final responseBody = json.decode(response.body)['elements'];
responseBody.forEach((item) {
_transactions.add(TransactionModel.fromJson(item));
});
解决方法
映射是实现它的更好方法。
TransactionModel 类
class TransactionModel {
final int id;
final int payVal;
final String payDate;
final bool isCharity;
final List imgFileUrls;
final String firstName;
final String lastName;
final String nationalCode;
final String applicationUserId;
TransactionModel(
this.id,this.payVal,this.payDate,this.isCharity,this.imgFileUrls,this.firstName,this.lastName,this.nationalCode,this.applicationUserId);
static TransactionModel fromMap(Map<String,dynamic> map) {
return TransactionModel(
map['id'],map['payVal'],map['payDate'],map['isCharity'],map['imgFileUrls'],map['firstName'],map['lastName'],map['nationalCode'],map['applicationUserId']);
}
}
现在让我们创建一个方法来读取 JSON 并返回事务模型对象列表。
List<TransactionModel> readJson(Map<String,dynamic> data) {
return List<Map<String,dynamic>>.from(data['elements'])
.map((e) => TransactionModel.fromMap(e))
.toList();
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。