解析Dart中没有名称的json数组

问题描述 投票:0回答:1

我无法解析此类json

[{"operation_id":"38911","external_id":null,"status":"SUCCESS","date":"2019-12-01T12:30:08.000Z","amount":200}]

问题出在具有动态名称的数组中。这是我的POJO:

class PaymentHistoryResponse {
final List<History> list;

PaymentHistoryResponse({this.list});
}

class History {
final String operationId;
final dynamic externalId;
final String status;
final DateTime date;
final int amount;

History({
@required this.operationId,
@required this.externalId,
@required this.status,
@required this.date,
@required this.amount
});

factory History.fromJson(String str) => History.fromMap(json.decode(str));

String toJson() => json.encode(toMap());

factory History.fromMap(Map<String, dynamic> json) => History(
operationId: json["operation_id"],
externalId: json["external_id"],
status: json["status"],
date: DateTime.parse(json["date"]),
amount: json["amount"]
);

Map<String, dynamic> toMap() => {
"operation_id": operationId,
"external_id": externalId,
"status": status,
"date": date.toIso8601String(),
"amount": amount
};
}

我还收到其他包含json的数组,但是命名数组,并且能够对其进行解码。我该如何转换呢?附言:我还通过该网站进行了一些研究,发现了一些非常相似的问题,但又有所不同,对我没有帮助。

json flutter dart flutter-layout dart-pub
1个回答
0
投票

由于这是一个数组,而不仅仅是JSON,因此您需要执行以下操作:

mList = List<UserModel>.from(response.data.map((i) => UserModel.fromJson(i)));

提示:要使用toJson和fromJson生成模型,请使用以下网站:https://javiercbk.github.io/json_to_dart/

© www.soinside.com 2019 - 2024. All rights reserved.