【发布时间】:2020-03-23 15:57:02
【问题描述】:
我正在尝试解析json 列表数据,以便我可以保存到一个对象中。但是每次都报错,不知道为什么。
Json 数据
{
"status": "success",
"data": [
{
"distro_name": "Ikeja Electric (IKEDC)",
"service_id": "ikeja-electric",
"type": [
"prepaid",
"postpaid"
]
},
{
"distro_name": "Eko Electric (EKEDC)",
"service_id": "eko-electric",
"type": [
"prepaid",
"postpaid"
]
},
{
"distro_name": "Ibadan Electric (IBEDC)",
"service_id": "ibadan-electric",
"type": [
"prepaid",
"postpaid"
]
},
{
"distro_name": "Kano Electric (KEDCO)",
"service_id": "kano-electric",
"type": [
"prepaid",
"postpaid"
]
},
{
"distro_name": "Jos Electricity Distribution (JED)",
"service_id": "jos-electric",
"type": [
"prepaid",
"postpaid"
]
},
{
"distro_name": "Port-Harcourt Electric (PHED)",
"service_id": "portharcourt-electric",
"type": [
"prepaid",
"postpaid"
]
}
]
}
这是我的数据模型类。
型号
class Providers {
String distro_name;
String service_id;
dynamic type;
Providers(this.distro_name, this.service_id, this.type);
Providers.fromJson(Map<String, dynamic> json):
distro_name = json['distro_name'],
service_id = json['service_id'],
type = json['type'];
}
Main.dart
fetchProviders() async{
try {
final response = await http.get(
uri,
headers: {'Content-Type': 'application/json','Authorization': 'Bearer ' + _bloc.bearerToken, },
);
final responseJson = json.decode(response.body);
for (var u in responseJson["data"]) {
Providers provider = Providers(
u["distro_name"],
u["service_id"],
u["list"]);
providerList.add(provider);
}
return responseJson;
} catch (exception) {
print(exception);
}
}
这是我得到的错误。
NoSuchMethodError: The method 'add' was called on null.
I/flutter ( 1366): Receiver: null
我真的不知道为什么会出现此错误。我的 api 上没有 null 值,而且我过去使用过这种 json 结构。
【问题讨论】:
-
providerList是否为空?