【问题标题】:Flutter: How to convert a List to JSONFlutter:如何将列表转换为 JSON
【发布时间】:2020-03-21 02:11:08
【问题描述】:

我正在尝试将列表转换为 Json 并将此 json 发送到 DB。

我的清单如下

List<DeviceInfo> deviceInfoList = [];

class DeviceInfo {
  final String platform;
  final String deviceModel;
  final bool isPhysicalDevice;
  final String deviceId;
  final String imei;
  final String meid;
  final String platformVersion;
  final String projectVersion;
  final String projectCode;
  final String projectAppID;
  final String projectName;

  DeviceInfo(
      {this.platform,
      this.platformVersion,
      this.deviceModel,
      this.isPhysicalDevice,
      this.deviceId,
      this.imei,
      this.meid,
      this.projectVersion,
      this.projectCode,
      this.projectAppID,
      this.projectName});
}

我的列表包含字符串和布尔值,我已经通过this example 不知道如何在该映射函数中映射字符串和布尔值。 谁能帮我解决这个问题?

【问题讨论】:

  • 这能回答你的问题吗? Flutter Json Encode List
  • @luismiguelss 我的列表包含字符串和布尔值,我如何将其映射到您提供的链接中的函数。 Map toJson(){ return {}}
  • 您仍然可以将布尔值作为字符串处理,请查看this answer
  • 非常感谢@luismiguelss 知道了。
  • 这能回答你的问题吗? Convert List<T> into json in flutter

标签: json list flutter


【解决方案1】:
Map<String,dynamic> toJson(){
    return {
      "name": this.name,
      "number": this.number,
      "surname": this.surname,
    };
  }

static List encondeToJson(List<DeviceInfo>list){
    List jsonList = List();
    list.map((item)=>
      jsonList.add(item.toJson())
    ).toList();
    return jsonList;
}

List jsonList = Device.encondeToJson(deviceInfoList);
print("jsonList: ${jsonList}");

是我记忆中最短的方式。

【讨论】:

    【解决方案2】:

    有助于从 JSON 编码和解码的几个选项:json_serializable 包是为您生成样板序列化/反序列化代码的好方法。在Flutter samples repo 中有如何使用它的示例(以及built_value,它功能强大,但使用起来更复杂)。

    【讨论】:

      猜你喜欢
      • 2022-11-23
      • 1970-01-01
      • 1970-01-01
      • 2014-03-03
      • 2019-06-12
      • 1970-01-01
      • 2022-11-07
      • 2016-11-15
      • 2021-03-17
      相关资源
      最近更新 更多