springmvc 返回 json 里面的 map 顺序反掉了

2019 年 5 月 21 日
 fdgdbr

这是返回之前的对象 https://i.loli.net/2019/05/21/5ce37374e9edc63235.png 这是返回之后 postman 里面数据 https://i.loli.net/2019/05/21/5ce3737b9cb9e16987.png 即使用了 treemap 还是不行,请大佬指教 用的框架是 springboot,版本 2.1.4

7079 次点击
所在节点    Java
30 条回复
palmers
2019 年 5 月 21 日
我觉得就算对象属性顺序是正确的, 使用 Object.keys 顺序也没有保证
itechify
2019 年 5 月 21 日
map 无序呀。。。
johnj
2019 年 5 月 21 日
即使在 Java 里有有序的 map,转到 json 就变成无序的了。
JohnZorn
2019 年 5 月 21 日
人家明明是 linkedhashmap 一堆人非要拿 map 无序说事。。
zhuweiyou
2019 年 5 月 21 日
哪怕你 map 顺序是对的。给前端用,对象也是无序的。。。应该用数组返回
wwqgtxx
2019 年 5 月 21 日
我记得在 vue.js 中特别提到了这个问题,js 中的 object 是无序的,所以应该选择使用数组或者是指定一个 id 字段来排序
cway
2019 年 5 月 21 日
本来就是无序的,如果是用 new JSONObject()的话可以在括号里加个 true 就成有序的了,不写的话默认是 false
kaneg
2019 年 5 月 21 日
通用的 map 的 key 是无序的,这是常识。至于 json 就更是这样了。至于特定的实现保持 key 的顺序或者 key 重排序等,那必须在接口中指定才行,否则一律按照通用 map 对待。
Navee
2019 年 5 月 22 日
其实你应该用一个有序的 array 存 key,使用数据时遍历 array 去 map 取 value
azh7138m
2019 年 5 月 22 日
@fhsan 嘛,前端可以手动有序,stable 的 stringify 也是不少的,偶尔会用到

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/566151

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX