JSON 对象 排序的问题

Thinking_In_IT 2009-12-16 03:49:16
JSONObject jsObj = new JSONObject();

jsObj.put("1","1");
jsObj.put("2","2");
jsObj.put("3","3");
jsObj.put("4","4");
jsObj.put("5","5");
jsObj.put("6","6");

这样的话 jsObj中的顺序是乱的~,有什么办法解决吗?

尝试过如下方法,
LinkedHashMap<Object,Object> linkedHashMap = new LinkedHashMap<Object,Object>();
linkedHashMap .put("1","1");
linkedHashMap .put("2","2");
linkedHashMap .put("3","3");
linkedHashMap .put("4","4");
linkedHashMap .put("5","5");
linkedHashMap .put("6","6");
jsObj.putAll(linkedHashMap );

jsObj对象中依然乱序

...全文
863 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
sweatcoffee 2009-12-17
  • 打赏
  • 举报
回复
学习了
forget_kiss 2009-12-17
  • 打赏
  • 举报
回复
用ArrayList保存把,可以解决这个问题,如果还不行那就自己写一个冒泡排序的方法
bayougeng 2009-12-17
  • 打赏
  • 举报
回复
你可尝试重写key的hashCode方法,key的hashcode按照自然顺序排列。
然后:
linkedHashMap .put(new Key(1),"1");
linkedHashMap .put(new Key(2),"2");
……
daihui05 2009-12-16
  • 打赏
  • 举报
回复
既然是键值对了,就无所谓排序不排序了了
2到20个英文 2009-12-16
  • 打赏
  • 举报
回复
你是一定要根据键值对取值吗?如果不是你可以用List ,JSONArray 是用序的
Thinking_In_IT 2009-12-16
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 hedangqing 的回复:]
map 是无序的,放进去的时候就没有按顺序放,

JSONObject jsObj = new JSONObject();

jsObj.put("1","1");

JSONObject 实现了map,其实这里也是调用的map中的put ,所以和下面一样,无序
[/Quote]

是的,那么有办法有序否?因为在页面上要显示jsonObj ,需要按固定的顺序显示
2到20个英文 2009-12-16
  • 打赏
  • 举报
回复
map 是无序的,放进去的时候就没有按顺序放,

JSONObject jsObj = new JSONObject();

jsObj.put("1","1");

JSONObject 实现了map,其实这里也是调用的map中的put ,所以和下面一样,无序
deng8818 2009-12-16
  • 打赏
  • 举报
回复
帮顶

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧