首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java中复杂列表中的一键多值

Java中复杂列表中的一键多值
EN

Stack Overflow用户
提问于 2018-03-07 03:48:06
回答 1查看 174关注 0票数 0

我有一个json数组列表,格式如下,顺序相同。我不能期望排序中的数据,它可能会有所不同,Company-x可能以任何顺序出现。

代码语言:javascript
复制
Company-1 - {Branch-1, Branch-4, Branch-8}
Company-2 - {Branch-9, Branch-11, Branch-22}
Company-4 - {Branch-45, Branch-64, Branch-18}
Company-1 - {Branch-10, Branch-43, Branch-82}
Company-2 - {Branch-15, Branch-44, Branch-86}

此外,这可能会增加超过10,000行。我需要在不影响性能的情况下生成键值对。我需要将上述数据存储在HashMap中。(Map < String,List < Branch > )。

例如,我需要如下格式的结果:

代码语言:javascript
复制
  [Company-1,{Branch-1, Branch-4, Branch-8,Branch-10, Branch-43, Branch-82}]
    [Company-2,{Branch-9, Branch-11, Branch-22,Branch-15, Branch-44, Branch-86}]
    [Company-4,{Branch-45, Branch-64, Branch-18}]
....etc.

如何在java中实现这一点?

这是json格式。密钥为CID,值为(Branch_ID和Names)

代码语言:javascript
复制
[
            {

                "CID": "4545",
                "BRANCH_ID": "0041",
                "Name": "BID41",


            },
            {

                "ID": "4546",
                "BRANCH_ID": "0051",
                "Name": "BID51",


            },
            {

                "ID": "4545",
                "BRANCH_ID": "0042",
                "Name": "BID42",


            },
            {

                "ID": "4546",
                "BRANCH_ID": "0052",
                "Name": "BID52",


            },
            {

                "ID": "4545",
                "BRANCH_ID": "0043",
                "Name": "BID43",


            },
            {

                "ID": "4545",
                "BRANCH_ID": "0053",
                "Name": "BID53",


            }
        ]
EN

回答 1

Stack Overflow用户

发布于 2018-03-07 04:25:28

如果您正在尝试将Json数据转换为Map < String,List >,以下是解决方案:

代码语言:javascript
复制
  public Map<String , List<String>> convertMapList(String jsonStr) {
    Type mapType = new TypeToken<Map<String, Map>>(){}.getType();  
   Map<String, List<String>> son = new Gson().fromJson(jsonStr, mapType);
        return son;
    }   

为此,您必须在项目中添加Gson库。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49138848

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档