当前位置: 代码迷 >> J2EE >> json与map装换的有关问题
  详细解决方案

json与map装换的有关问题

热度:141   发布时间:2016-04-22 02:23:53.0
json与map装换的问题
Java code
    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"}

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

在看例子:
Java code
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

------解决方案--------------------
HashMap是不维持顺序的,它内部会自动排序。
可以使用LinkedHashMap,这个实现为维持顺序的
  相关解决方案