Flutter 从列表中获取所有数据到 json

Posted

技术标签:

【中文标题】Flutter 从列表中获取所有数据到 json【英文标题】:Flutter get all data from list into json 【发布时间】:2021-09-05 22:30:17 【问题描述】:

我正在将数据保存在列表中,现在我需要将其发布到我的 api 中,因此我需要将其转换为 json,但我被卡住了如何调用所有数据列表

我的代码

class DiagCollection with ChangeNotifier 

  List<Items_other> otheritems = [];


  void addOthers(Items_other day) 
    otheritems.add(day);
    print(otheritems);
    notifyListeners();
  
  void removeOthers(int index) 
    otheritems.removeAt(index);
    notifyListeners();
  


class Items_other 
  String name;
  String comments;
  int id;
  Items_other(this.name, this.comments, this.id);
  
  Map<String, dynamic> toJson() => 
    'name': name,
    'comments': comments,
    'id': id,
  ;

我正在插入这样的数据

  final collection = Provider.of<DiagCollection>(context);


   collection
      .addOthers(Items_other(
    name: "Allergies",
    id: otherAllergiesselect,
    comments: otherAllergiesselectText.text,
  ));

现在我需要在 json 中获取所有 addOthers 列表

【问题讨论】:

您想将您的列表转换为 json 还是将此列表作为字段添加到 json 中? 如果您想将列表转换为 JSON,那么只需使用 JSON.encode 方法。试试这个,看看你是否遇到任何错误 【参考方案1】:

据我了解,您正在尝试将对象列表转换为 json 列表。 如果我是真的,它是以下存储库的副本。 convert List to jsons 您不能将列表转换为对象。您需要按元素应用它然后转换为 json。

var json = jsonEncode(yourlistofobject.map((e) => e.toJson()).toList());

【讨论】:

以上是关于Flutter 从列表中获取所有数据到 json的主要内容,如果未能解决你的问题,请参考以下文章

如何从 Firebase 实时数据库中获取数据到 Flutter 中的列表中?

使用 Flutter 从数据库中构建列表获取

Flutter - 使用 StreamBuilder 从 firebase 获取数据后,如何使用 ScrollController 跳转到列表视图的底部?

在 dart/flutter 中执行多次从 firestore 获取数据的异步函数

Flutter:从 json 列表中获取数据

如何在 Flutter dart 的列表中的循环内附加数据?