gpt4 book ai didi

flutter - 在Dart _type错误中的模型类中解析数据?

转载 作者:行者123 更新时间:2023-12-03 04:51:05 25 4
gpt4 key购买 nike

我正在学习Dart和Flutter。现在,我尝试将JSON作为一种持久性方法。我遇到很多错误,所有错误都与类型和内容有关。这是我遇到的最新错误:_TypeError(类型“列表”不是类型“ map ”的子类型)

_TypeError(类型“String”不是类型“Map”的子类型)

static Resource<List<ProductImage>> get all {    
return Resource(
url: Constants.HEADLINE_NEWS_URL,
parse: (response) {

String jsonProduct = response.body;
final jsonResponse = json.decode(jsonProduct);
Product product = new Product.fromJson(jsonResponse);

return product.images.toList();

//return list.map((model) => NewsArticle.fromJson(model));

}
);
}

我的模特:
        class Product {
final String id;
final List<ProductImage> images;

Product({this.id, this.images});

factory Product.fromJson(Map<String, dynamic> parsedJson){

var list = parsedJson['IDEPELTION'] as List;
print(list.runtimeType);
List<ProductImage> imagesList = list.map((i) => ProductImage.fromJson(i)).toList();


return Product(
id: parsedJson['DATAS'],
images: imagesList

);
}


}

class ProductImage {
final String itemName;
final String iCategory;
// bool isCheck;

ProductImage({this.itemName, this.iCategory});

factory ProductImage.fromJson(Map<String, dynamic> parsedJson){
return ProductImage(
itemName:parsedJson['ITEM_NAME'],
iCategory:parsedJson['CATEGORY'],
//isCheck:false
);
}
}

这是我的示例json返回列表数据以获取所有方法
{"DATAS":"1","IDEPELTION":[{"ITEM_NAME":TRUEMETRIX ,"CATEGORY":"MOUTHPIECE"},{"ITEM_NAME":MULTISTIX 10SG 2161,"CATEGORY":"MOUTHPIECE"}]}

最佳答案

更改:

String jsonProduct = response.body;

变成这个:
Map<String,dynamic> jsonProduct = response.body;

由于响应的类型为 Map

关于flutter - 在Dart _type错误中的模型类中解析数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61320767/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com