放置LinkHashMap

时间:2018-12-03 09:05:52

标签: java arrays json spring sorting

我开始使用JSON,并且在将LinkHashMap放入JsonArray时希望保留元素。 这是我的代码:

 JSONObject jo = new JSONObject();
        JSONArray ja = new JSONArray();


        try {
            Map m = new LinkedHashMap(5);
            m.put("country", "VN");
            Map map = new LinkedHashMap(6);
            map.put("key","User");
            map.put("segmentation", m);
            ja.put(map);
            jo.put("events",ja);

当我输入两个键:“键”和“细分” 时,它会给我命令。现在,地图顺序看起来像:“键”:“用户”,“细分”:值,但是当我使用命令 ja.put 时,它没有顺序。它的顺序为:“细分”:值,“键”:“用户” 。我想在JSONArray中保留订单“ key”:“ User”,“ segmentation”:value ,但它不起作用。当我看到使用HashMap而不是LinkHashMap的方法时,不保留我的订单。如何在JsonArray中保持订单顺序:“键”:“用户”,“段”:值在JsonArray中。

1 个答案:

答案 0 :(得分:0)

您可以使用称为SortedMap的地图的其他规范。默认情况下,它将按键的自然顺序对元素进行排序,但是您可以通过提供自己的比较器来个性化该顺序。