json与map装换的问题

LoginOut 2009-10-28 11:03:29

Map map = new HashMap();
map.put("name", "json");
map.put("bool", Boolean.TRUE);
map.put("int", new Integer(1));
map.put("arr", new String[] { "a", "b" });
JSONObject json = JSONObject.fromObject(map);
System.out.println(json);


输出为:
{"arr":["a","b"],"int":1,"bool":true,"name":"json"}

暂时可以理解成,取的时候是从后往前取

在看例子:

Map map = new HashMap();
map.put("name", "json");
map.put("arr", new String[] { "a", "b" });
map.put("int", new Integer(1));
map.put("bool", Boolean.TRUE);
JSONObject json = JSONObject.fromObject(map);
System.out.println(json);

输出为:
{"arr":["a","b"],"int":1,"bool":true,"name":"json"}

可以看出:数组默认在前,int其次,然后就是boolean和String

现在想请问下如何按照我想输出的类型输出
比如说,先是String,然后是数组和boolean
...全文
2532 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
bjbly 2011-12-26
  • 打赏
  • 举报
回复
如果前端是flex的话,可以直接用Object类型接收一下就可以了
血冰飝 2011-08-12
  • 打赏
  • 举报
回复
路过学习
LoginOut 2009-11-04
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 sangshusen_1988 的回复:]
HashMap是不维持顺序的,它内部会自动排序。
可以使用LinkedHashMap,这个实现为维持顺序的
[/Quote]

LinkedHashMap,谢谢了。。。。
bayougeng 2009-10-28
  • 打赏
  • 举报
回复
Map何来顺序一说?
重载toString?有意义么?Map是串行化以后被当做字节流发送到浏览器的,跟toString会有关系么?
LoginOut 2009-10-28
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 zfc827 的回复:]
你真有意思,你前台JS获取的json难道不是用一个参数来接收,通过key获取value,一般来说根本就看不到json串,我还从来没有看过直接输出json串的做法……
不知道什么场景需要直接输出json串?
[/Quote]
也许是我没有说明白,我想看json串是在FireBug看,而并不是输出到页面上显示
并且格式是我可以控制的
  • 打赏
  • 举报
回复
祝福楼主
zfc827 2009-10-28
  • 打赏
  • 举报
回复
你真有意思,你前台JS获取的json难道不是用一个参数来接收,通过key获取value,一般来说根本就看不到json串,我还从来没有看过直接输出json串的做法……
不知道什么场景需要直接输出json串?
xierangh 2009-10-28
  • 打赏
  • 举报
回复
重载toString()。
LoginOut 2009-10-28
  • 打赏
  • 举报
回复
Ajax 获取数据转换成json,想输出格式看着舒服点
zfc827 2009-10-28
  • 打赏
  • 举报
回复
不知道你研究这个有什么意义?为什么会有这种需求?
zl3450341 2009-10-28
  • 打赏
  • 举报
回复
路过 学习
sangshusen_1988 2009-10-28
  • 打赏
  • 举报
回复
HashMap是不维持顺序的,它内部会自动排序。
可以使用LinkedHashMap,这个实现为维持顺序的
LoginOut 2009-10-28
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 oak3333 的回复:]
引用 7 楼 bayougeng 的回复:
Map何来顺序一说?
重载toString?有意义么?Map是串行化以后被当做字节流发送到浏览器的,跟toString会有关系么?

同意,再说json是么有前后之分
[/Quote]

那也就是说在当做字节流发送的时候,顺序改变了

那能控制吗?
oak3333 2009-10-28
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 bayougeng 的回复:]
Map何来顺序一说?
重载toString?有意义么?Map是串行化以后被当做字节流发送到浏览器的,跟toString会有关系么?
[/Quote]
同意,再说json是么有前后之分
LoginOut 2009-10-28
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 gukuitian 的回复:]
自己组织成String字符串,要什么格式都行。
[/Quote]

自己有写,但是先改成json格式的
gukuitian 2009-10-28
  • 打赏
  • 举报
回复
自己组织成String字符串,要什么格式都行。
LoginOut 2009-10-28
  • 打赏
  • 举报
回复
主要是因为FlexGrid 需要按照一定的顺序格式来解析json

所以输出到客户段的json格式要固定

有其他的办法吗?

67,513

社区成员

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

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