Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.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
Oop 使用dart进行类映射_Oop_Dart - Fatal编程技术网

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>')**