问题描述
我能够从Flutter应用程序中的服务器成功获取JSON数据,但是在查询列表视图生成器的字段时却无法执行此操作,并且出现错误
JSON数据
{
"error": "false","content": {
"16": [
[
{
"sod_pk": "31688","soh_fk": "23660","sqd_fk": "33294","order_header": {
"soh_pk": "23660","order_no": "16",}
}
],[
{
"sod_pk": "31689","sqd_fk": "33293",}
}
]
],"18": [
[
{
"sod_pk": "31744","soh_fk": "23702","sqd_fk": "33354","order_header": {
"soh_pk": "23702","order_no": "18",[
{
"sod_pk": "31745","sqd_fk": "33356",]
}
}
呼叫
orderdetail = OrderModel.fromJson(json.decode(response.body));
VERBOSE-2:ui_dart_state.cc(166)]未处理的异常:类型'(动态) => Null'不是'f'的'(String,dynamic)=> void'类型的子类型
OrderModel.fromJson(Map<String,dynamic> json) {
error = json['error'];
if (json['content'] != null) {
content = new List<OrderContent>();
//here the error occurs
json['content'].forEach((v) {
content.add(new OrderContent.fromJson(v));
});
}
}
class OrderContent {
String code;
String name;
String ordernumber;
var order_header;
OrderContent({this.code,this.name,this.ordernumber,this.order_header});
OrderContent.fromJson(Map<String,dynamic> json) {
code = json['code'];
name = json['name'];
ordernumber = json['order_no'];
order_header = json["order_header"];
}
Map<String,dynamic> toJson() {
final Map<String,dynamic> data = new Map<String,dynamic>();
data['id'] = this.code;
data['name'] = this.name;
data['order_header'] = this.order_header;
data['order_no'] = this.ordernumber;
return data;
}
}
从JSON数据中,我无法从列表中获取任何字段,也无法从嵌套的order_header中获取
解决方法
您的json与您要使用的json不匹配。再次阅读您的代码,我确定您会明白的。