首页 > 解决方案 > 如何在颤动中使用 JSONArray 的相同键连接两个 JSONObject

问题描述

JSON 请求在 DataList JSONArray 中被拆分为两个 json 对象,因为数据太大,如何将这两个对象组合起来才能解压并获取值。我是 dart 和 flutter 的新手,任何帮助将不胜感激。谢谢你。

 "DataList": [
                    {
                        "Data": "compressedata"
                    },
                    {
                        "Data": "compressedData"
                    }
                ],

这是我尝试过的

class ResponseList {
 
 List<DataList> dataList;
 
 ResponseList({ this.DataList});

 ResponseList.fromJson(Map<String, dynamic> json) {
  if (json['DataList'] != null) {
   DataList = new List<DataList>();
    json['DataList'].forEach((v) {
    dataList.add(new DataList.fromJson(v));
    });
  }
  
 }

 Map<String, dynamic> toJson() {
    final Map<String, dynamic> map = new Map<String, dynamic>();
    if (this.DataList != null) {
    map['DataList'] = this.dataList.map((v) => v.toJson()).toList();
  }
  
  return map;
 }
}
class DataList {
 String data;
 DataList({this.data});
 DataList.fromJson(Map<String, dynamic> json) {
  data = json['Data'];

 }

 Map<String, dynamic> toJson() {
  final Map<String, dynamic> map = new Map<String, dynamic>();
  map['Data'] = this.data;
  return map;
 }
}

标签: jsonflutterdart

解决方案


使用 Datalist 数组,您可以执行以下操作:

 var dataList = [
    {"Data": "compressedata"},
    {"Data": "compressedData"}
  ];

  var compressedData = dataList
      .map((item) => item["Data"])
      .reduce((value, element) => value + element);

  print(compressedData); // compressedatacompressedData

推荐阅读