【问题标题】:How to keep order element in JsonArray when put LinkHashMap放置LinkedHashMap时如何在Json数组中保留订单元素
【发布时间】:2018-12-03 09:05:51
【问题描述】:

我开始使用 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);

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

【问题讨论】:

    标签: java arrays json spring sorting


    【解决方案1】:

    您可以使用称为SortedMap 的不同映射规范。默认情况下,它将通过键的自然排序来对元素进行排序,但您可以通过提供自己的比较器来个性化排序。

    【讨论】:

    • 当我使用 SortedMap 时。我在 put JsonArray 之前使用还是在 put 之后使用?我认为问题 JsonArray 不能让我保持秩序。
    猜你喜欢
    • 2014-01-25
    • 1970-01-01
    • 2022-08-03
    • 2016-03-19
    • 1970-01-01
    • 2017-01-04
    • 1970-01-01
    • 2021-12-26
    • 1970-01-01
    相关资源
    最近更新 更多