Как отфильтровать и удалить дубликат списка JSON? - PullRequest
0 голосов
/ 22 ноября 2018

У меня есть локальный файл 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 Ответ

0 голосов
/ 22 ноября 2018

Это должно делать то, что вы хотите

var uniqueCompanyNames = _tmpCompany.map<String>(
    (c) => (c as List)['companyName'] as String)
    .toSet().toList()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...