如何过滤和删除重复的 JSON 列表?

Posted

技术标签:

【中文标题】如何过滤和删除重复的 JSON 列表?【英文标题】:How to filter and remove duplicate JSON List? 【发布时间】:2019-04-25 06:27:36 【问题描述】:

我有一个本地 JSON 文件,如下所示,我使用“await rootBundle.loadString(****)”将其加载到我的颤振项目中。我将映射解码为“Map _mapCompany = jsonDecode(jsonComapany)”,然后将映射分配给列表为“_tmpCompany = _mapComapany["companyBranch"];”

现在我需要使用过滤器来获取 [companyName],还需要删除重复的 [companyName] 并加载到下拉按钮。

我使用 var "_result = new Collection(_tmpCompany).distinct()" 删除重复项,但如何将 _result.toList() 分配给 List _comapnyName;还是下拉按钮?

一旦第一个下拉加载我使用更改事件来使用过滤器加载分支列表。我该怎么做?

  
   “companyBranch”:[  
        
         "companyCode":"1",
         "companyName”:”COMAPANY A”,
         "branchCode”:”855”,
         "branchName”:”BRANCH A1”
      ,
        
         "companyCode":"1",
         "companyName”:”COMPANY A”,
         "branchCode":"856",
         "branchName”:”BRANCH A2“
      ,
        
         "companyCode":"10",
         "companyName”:”COMAPNY B”,
         "branchCode":"860",
         "branchName”:”BRANCH B1”
      ,
        
         "companyCode":"10",
         "companyName”:”COMPANY B”,
         "branchCode":"861",
         "branchName”:”BRANCH B2”
      ,

【问题讨论】:

【参考方案1】:

这应该做你想做的事

var uniqueCompanyNames = _tmpCompany.map<String>(
    (c) => (c as List)['companyName'] as String)
    .toSet().toList()

【讨论】:

如何将 uniqueCompanyNames 分配给下拉列表我收到错误 错误是什么?请将导致此错误的代码添加到您的问题中。

以上是关于如何过滤和删除重复的 JSON 列表?的主要内容,如果未能解决你的问题,请参考以下文章

ArrayList 过滤器 [重复]

Python - 从字典/列表中删除项目[重复]

在 Python 中从 JSON 数据创建列表和字典 [重复]

我如何将一次出现的所有项目过滤到一个列表中,并将多次出现的所有项目过滤到另一个列表中?

Angular2 从 JSON 数组中删除重复项

如何使用谓词过滤列表[重复]