我在将数据从json解析为dart模型时遇到麻烦,我尝试了在线转换器,但它导致错误type '_InternalLinkedHashMap<String, dynamic>' is not a subtype of type 'String'
,此json对象是响应正文,我已在控制台中将其打印出来并且可以正常工作很好,但是我被困在将json对象解析为dart类模型
这是我的代码:
{
"success": true,
"data": {
"sum": 1200,
"max": 0,
"history": [
{
"id": 3,
"user_activity_id": 2,
"qty": 300,
"size": 4,
"timestamp": "2020-06-03T05:29:37.000Z"
}
]
}
}
class WaterConsumeToday {
bool success;
Data data;
WaterConsumeToday({this.success, this.data});
WaterConsumeToday.fromJson(Map<String, dynamic> json) {
success = json['success'];
data = json['data'] != null ? new Data.fromJson(json['data']) : null;
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['success'] = this.success;
if (this.data != null) {
data['data'] = this.data.toJson();
}
return data;
}
}
class Data {
int sum;
int max;
List<History> history;
Data({this.sum, this.max, this.history});
Data.fromJson(Map<String, dynamic> json) {
sum = json['sum'];
max = json['max'];
if (json['history'] != null) {
history = new List<History>();
json['history'].forEach((v) {
history.add(new History.fromJson(v));
});
}
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['sum'] = this.sum;
data['max'] = this.max;
if (this.history != null) {
data['history'] = this.history.map((v) => v.toJson()).toList();
}
return data;
}
}
class History {
int id;
int userActivityId;
int qty;
int size;
String timestamp;
History({this.id, this.userActivityId, this.qty, this.size, this.timestamp});
History.fromJson(Map<String, dynamic> json) {
id = json['id'];
userActivityId = json['user_activity_id'];
qty = json['qty'];
size = json['size'];
timestamp = json['timestamp'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['id'] = this.id;
data['user_activity_id'] = this.userActivityId;
data['qty'] = this.qty;
data['size'] = this.size;
data['timestamp'] = this.timestamp;
return data;
}
}
i使用此var responseJson = json.decode(response.body.toString());
解码json对象。
谢谢..