当前位置: 首页 > 知识库问答 >
问题:

在Dart中将对象推入阵列

秦才
2023-03-14
  List returnMovies = [];

Future<List> _getData() async {

    final response = await http.get("https:../getTodayMovies",
        headers: {HttpHeaders.AUTHORIZATION: Acess_Token.access_token});


    if (response.body != null) {
    returnMovies = json.decode(response.body);
      .....

      setState(() {});
    } else {
       final responseUpcoming = await http.get("/upcoming",
        headers: {HttpHeaders.AUTHORIZATION: Acess_Token.access_token});
        returnMovies = json.decode(responseUpcoming.body);


    }

回应。身体看起来像:

[{"id":394470548,"host_group_name":"heyab redda","movie_image":"..png","type":"horror","code":"X123","name":"Lovely","start_time":1554364800,"end_time":1554393600,"}]

响应Upcoming.body看起来像:

 {"id":394470545,"host_group_name":"foo redda","movie_image":".png","type":"horror","code":"X123","name":"Lovely","start_time":1554364800,"end_time":1554393600,"}, {"id":394470548,"host_group_name":"foo1 redda","movie_image":"..png","type":"comic","code":"X125","name":"Lovely1","start_time":1554364800,"end_time":1554393600,"}

我得到的错误是:String,dynamic不是List类型的子类型

在我执行的第一个API调用中,我通常会返回一个对象数组,但是,当这个数组为空时,第二个API调用将返回一个对象列表,我希望将这些对象放入名为returnMovies的数组中,我如何实现这一点??有没有办法去。将这些对象按入阵列??然后我想使用这个数组动态地构建一个Listview。建设者我的声明是否正确?我对飞镖很陌生。非常感谢。


共有3个答案

秦宏硕
2023-03-14

当您执行此操作时,json。解码(response.body)您将获得一个列表映射您应该使用列表

    movieListData = json.decode(response.body);
    returnMovies = movieListData.map((dynamic movieData) {
          String id = movieData['_id'];
          String host_group_name = movieData['host_group_name'];
          String duration = movieData['duration'];
          return new Movie(id,title, duration);
        }).toList();

逄学潞
2023-03-14

我会建议用

returnMovies.addAll({your object here})
向锦
2023-03-14

听起来你在找addAll

returnMovies.addAll(json.decode(returnUpcoming.body))
 类似资料:
  • 主要内容:级联运算符(..),toString()方法面向对象编程将对象定义为“具有已定义边界的任何实体”。对象具有以下内容 - 状态 - 描述对象,类的字段表示对象的状态。 行为 - 描述对象可以执行的操作。 标识 - 将对象与一组类似的其他对象区分开的唯一值。两个或多个对象可以共享状态和行为,但不能共享身份。 句点运算符()与对象一起使用以访问类的数据成员。 示例 Dart以对象的形式表示数据,Dart中的每个类都扩展了Object类。下面给出了

  • 有对象的: 并用我的代码动态生成对象: 我想将这个动态生成的对象推送到初始测试对象,这样,最终obj看起来就像这样:

  • 空心我有一些问题和小问题我有3个输入字段我需要在单击时从中获取值将它们分配给对象并将该对象推入数组有人可以帮助我说在哪里查找信息我正在MDN上搜索,但我找不到正确的主题,示例1)将值输入到对象,然后将该对象推入数组 使用html和javascript链接到JSFIDLE

  • 问题内容: 我正在尝试使用角度推功能,但是它不起作用。 我想将字符串(或对象)添加到数组中。 我在此处的Stack Overflow中搜索了基本示例,但找不到。 谁能纠正我的代码或写一个非常基本的示例? 这是我的例子。 这是HTML代码: 这是Java脚本代码: 问题答案: 推送仅对array有效。 使您的对象成为数组对象。 像这样尝试 JS HTML

  • 问题内容: 我正在尝试从url获取JSON数据。它是以对象的形式,我必须将对象数据推送到数组中。 我如上所述在my_json var中尝试过,我以对象形式存在json数据,现在我必须将该对象存储为var数据作为以下格式的数组 谁能帮我怎么做?谢谢 问题答案: 观察 如果只有一个对象,而您想将整个对象压入一个数组,则无需迭代该对象。 试试这个 : 代替 :

  • 在以下代码示例中,来自颤振文档: