Oop 使用dart进行类映射
我有这门课(飞镖) 我就是这样做的Oop 使用dart进行类映射,oop,dart,Oop,Dart,我有这门课(飞镖) 我就是这样做的 class ServicioResumenEmpleos { List<ResumenPublicaciones> publicaciones = []; List getResumenPublicacioness() { publicacionesResumidas(); return publicaciones; } var apiUrl = "here my api URLs";
class ServicioResumenEmpleos {
List<ResumenPublicaciones> publicaciones = [];
List getResumenPublicacioness() {
publicacionesResumidas();
return publicaciones;
}
var apiUrl = "here my api URLs";
Future<ResumenPublicaciones> publicacionesResumidas() async {
var jsonResponse;
Map<String, String> headers = {
'Content-Type': 'application/json',
};
var response = await http.get(apiUrl, headers: headers);
print('respuesta del api' + response.toString());
if (response.statusCode == 200) {
print(' el API responde ' + response.body);
jsonResponse = json.decode(response.body);
var _listapublicaciones = new ResumenPublicaciones.fromJson(jsonResponse);
publicaciones.add(_listapublicaciones);
print(_listapublicaciones.name);
return _listapublicaciones;
} else {
print(
'Esta imprimiendo el else en este punto no debe impremir el response');
var _listapublicacionesNull = new ResumenPublicaciones();
_listapublicacionesNull.count = '0';
_listapublicacionesNull.name = 'didnt work';
return _listapublicacionesNull;
}
}
//
}
类服务{
上市公司=[];
列表GetResumeNPublicationness(){
publicacionesResumidas();
回报公众;
}
var apiUrl=“此处为我的api URL”;
Future PublicationsResumidas()异步{
var-jsonResponse;
映射头={
“内容类型”:“应用程序/json”,
};
var response=wait http.get(apirl,headers:headers);
打印('respuesta del api'+response.toString());
如果(response.statusCode==200){
打印('el API response'+response.body);
jsonResponse=json.decode(response.body);
var _listapublicaciones=new ResumenPublicaciones.fromJson(jsonResponse);
publicacions.add(_listapublicaciones);
打印(_listapublicaciones.name);
返回_listapublicaciones;
}否则{
印刷品(
“在没有任何回应的情况下,对其他事件进行批准”);
var_listapublicacionesnll=new ResumenPublicaciones();
_listaPublicacionesnll.count='0';
_listaPublicacionesnll.name='不起作用';
返回_listapublicacionesnll;
}
}
//
}
我想收到一个关于这个类的列表,但是我收到了这个错误消息
发生异常
**_TypeError (type 'List<dynamic>' is not a subtype of type 'Map<String, dynamic>')**
***\u TypeError(类型“List”不是类型“Map”的子类型)*
知道我做错了什么吗?问题在于:
var\u listapublicaciones=new ResumenPublicaciones.fromJson(jsonResponse);
如果您的响应是一个列表,则将其传递给一个构造函数,该构造函数需要一个映射。您需要迭代列表中的对象,并将它们转换为单个publicaciones:
var\u listapublicaciones=(jsonResponse作为列表).map(
(o) =>ResumenPublicaciones.fromJson(o),
).toList();
或:var\u listapublicaciones=[for(jsonResponse中的var json)ResumenPublicaciones.fromJson(json)]代码>确保将方法更改为:Future publicacionesResumidas()
class ServicioResumenEmpleos {
List<ResumenPublicaciones> publicaciones = [];
List getResumenPublicacioness() {
publicacionesResumidas();
return publicaciones;
}
var apiUrl = "here my api URLs";
Future<ResumenPublicaciones> publicacionesResumidas() async {
var jsonResponse;
Map<String, String> headers = {
'Content-Type': 'application/json',
};
var response = await http.get(apiUrl, headers: headers);
print('respuesta del api' + response.toString());
if (response.statusCode == 200) {
print(' el API responde ' + response.body);
jsonResponse = json.decode(response.body);
var _listapublicaciones = new ResumenPublicaciones.fromJson(jsonResponse);
publicaciones.add(_listapublicaciones);
print(_listapublicaciones.name);
return _listapublicaciones;
} else {
print(
'Esta imprimiendo el else en este punto no debe impremir el response');
var _listapublicacionesNull = new ResumenPublicaciones();
_listapublicacionesNull.count = '0';
_listapublicacionesNull.name = 'didnt work';
return _listapublicacionesNull;
}
}
//
}
**_TypeError (type 'List<dynamic>' is not a subtype of type 'Map<String, dynamic>')**