#json #flutter #dart
#json #flutter #dart
Вопрос:
Я создал одну модель, подобную этой :
class SalesRepResponse {
bool errors;
List<Data> data;
int statusCode;
SalesRepResponse({this.errors, this.data, this.statusCode});
SalesRepResponse.fromJson(Map<String, dynamic> json) {
errors = json['errors'];
if (json['data'] != null) {
data = new List<Data>();
json['data'].forEach((v) {
data.add(new Data.fromJson(v));
});
}
statusCode = json['status_code'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['errors'] = this.errors;
if (this.data != null) {
data['data'] = this.data.map((v) => v.toJson()).toList();
}
data['status_code'] = this.statusCode;
return data;
}
}
class Data {
int id;
String displayName;
Data({this.id, this.displayName});
Data.fromJson(Map<String, dynamic> json) {
id = json['id'];
displayName = json['display_name'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['id'] = this.id;
data['display_name'] = this.displayName;
return data;
}
}
И я также получаю тот же ответ от API и анализирую данные следующим образом :
var result = SalesRepResponse.fromJson(json.decode(response1.body));
Но он сохраняет все значения в классе SalesRepResponse / Data как null .
Кто-нибудь, пожалуйста, помогите мне с этим.
Заранее спасибо.
Ответ №1:
вы должны указать данные в вашем json следующим образом
var result = SalesRepResponse.fromJson(json.decode(response1.body['data/etc']));
это означает, что вы должны указать данные, которые содержат данные для SalesRepResponse, проверив ваш ответ json
Комментарии:
1. Мы не можем передать строку в качестве параметра внутри массива.