记录一个因为Json去重引发的问题

 代码如下:

 IdentityHashMap<String,String> maps = new IdentityHashMap<>();
        maps.put(new StringBuilder("张三").toString(),"123");
        maps.put(new StringBuilder("李四").toString(),"1235");
        maps.put(new StringBuilder("王五").toString(),"123434");
        maps.put(new StringBuilder("赵柳").toString(),"胜多负少会计法");
        maps.put(new StringBuilder("张三").toString(),"232342353");
        return maps;

 我想通过不去重复的map,将同样key,不同value的map集合返回给前端,但是在返回的途中出现了问题,当我使用浏览器直接访问网址时,返回的是我想要的集合,但是通过potMan和实际页面调用时,返回的值确实进过去重后的map。

Service截图:从下面的截图中可以看到,maps中已经存储进入了五个不同的键值(请忽略StringBuilder,经过测试,new String,String.toString返回值都和上面描述的情况一致)

Controller: 依旧有五个值

下面会放出postMan和页面直接调用的情况。 

              postMan:这个张三的值会变动,可能是123,也可能是232342353

网页截图:

以上就是问题原因及现象。

 

--------------------------          2018年9月12日 更新        -------------------------

确认应该是json会自带去重效果,即一串json中不会拥有重复的key。

解决方式:将返回值用数组的形式,或者将key值修改为不重复。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值