Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Rest 类型字符串不是index.I';的int类型的子类型;我正在尝试将Json字符串数组解析为对象列表。怎么了?_Rest_Flutter_Dart - Fatal编程技术网

Rest 类型字符串不是index.I';的int类型的子类型;我正在尝试将Json字符串数组解析为对象列表。怎么了?

Rest 类型字符串不是index.I';的int类型的子类型;我正在尝试将Json字符串数组解析为对象列表。怎么了?,rest,flutter,dart,Rest,Flutter,Dart,我正在尝试从API获取数据。当我在模型类中收到响应时,控制台显示如下错误 E/flatter(9292):[错误:flatter/lib/ui/ui\u dart\u state.cc(157)]未处理的异常:类型“String”不是“index”的类型“int”的子类型 型号Produit.dart: /*我的型号*/ 类产品{ 字符串名称; 双prixvente; 双大奖赛2; 字符串描述; 字符串图像; int idProduit; 产品(此名称、此品牌、此品牌2、, this.desc

我正在尝试从API获取数据。当我在模型类中收到响应时,控制台显示如下错误

E/flatter(9292):[错误:flatter/lib/ui/ui\u dart\u state.cc(157)]未处理的异常:类型“String”不是“index”的类型“int”的子类型
型号Produit.dart:

/*我的型号*/
类产品{
字符串名称;
双prixvente;
双大奖赛2;
字符串描述;
字符串图像;
int idProduit;
产品(此名称、此品牌、此品牌2、,
this.description、this.image、this.idProduit);
/*fromJson,json的反序列化*/
静态Produit fromMap(地图地图){
返回产品(
地图[‘名称’],
地图['prixvente'],
地图['prix_Venter2'],
地图['description'],
映射['image'],
地图['idProduit'],);
}
}
使用getProduit异步:

//Api
Future getProduit()异步{
试一试{
var data=wait http.get(“http://”+Uri.encodeFull(url),
标题:{“接受”:“应用程序/json”});
this.produits=[];/*Lis produits*/
列表项=[];
打印(prodsJson[0]);
forEach产品(项目){
添加(Produit.fromMap(项目));
});
印刷品(项目);
this.produits=项目;
退货产品;
}捕获(e){
打印('Error${e.toString()}');
}
}
Mon Widget FutureBuilder:

@覆盖
小部件构建(构建上下文){
super.build(上下文);
返回脚手架(
背景颜色:Colors.white,
appBar:appBar(
标题:文本(标题),
标题:对,
背景颜色:Colors.blue,
),
正文:未来建设者(
future:getProduit(),
生成器:(上下文,快照){
返回snapshot.data!=null?文本(snapshot.data)
:居中(子项:循环前进指示器(),);
},
),
//bottomNavigationBar:AppBottomBar(),
);
}
@凌驾
void initState(){
getProduit();
super.initState();
}
Json:

[
  [" GLITTER UP BRUSH - PINCEAUX MAQUILLAGE", 25000, 25000, " GLITTER UP BRUSH - PINCEAUX MAQUILLAGE", null, "1"],
  [" IF THE CROWN FITS - PINCEAUX MAQUILLAGE", 20000, 20000, " IF THE CROWN FITS - PINCEAUX MAQUILLAGE", null, "2"]
]

您的json似乎是一个数组数组,而不是一个映射数组。所以
static Produit fromMap(Map Map)
方法需要执行类似
static Produit fromJson(List items)
的操作,然后
项[0],项[1]等等。
您的json似乎是一个数组数组,而不是一个映射数组。所以
静态Produit fromMap(Map Map)
方法需要执行类似
静态Produit fromJson(列表项)
然后
项[0],项[1]等操作。