java – JSONObject有序映射参数

前端之家收集整理的这篇文章主要介绍了java – JSONObject有序映射参数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我有一个Map,它包含String键和String和整数值.
我将值放入地图中,如下所示:

Map map = new LinkedHashMap();
map.put("b",1);
map.put("a",2);

在此之后,我将地图添加到List中:

List out = new LinkedList();
out.add(map);

之后,我创建了一个JSONObject并将List放入其中:

org.json.JSONObject json = new org.json.JSONObject();
json.put("header","header");
json.put("array",out);

但如果我这样做,我会看到这个json结构:

{“header”:”header”,“array”:[{“a”:2,”b”:1}]}

但我想看到:

{“header”:”header”,”array”:[{“b”:1,”a”:2}]}

我哪里做错了?也许这不是正确的方法

最佳答案
如果您想保留订单,则不应使用org.json库,因为它将数据存储在HashMap中,因此您要保留的任何订单都将被忽略.用org.json解决这个问题并不容易.我建议你使用另一个JSON库(GSON,Jackson,minimal-json等).几乎任何其他库都保留了像LinkedHashMap这样的插入顺序.

猜你在找的Java相关文章