gpt4 book ai didi

java - 如何在 JSONObject 中保留 LinkedHashMap 排序?

转载 作者:搜寻专家 更新时间:2023-11-01 03:34:01 24 4
gpt4 key购买 nike

我有一个带有状态的 LinkedHashMap

Map<String, String> stateMap = new LinkedHashMap<String, String>();
// ...

我正在基于它创建一个 JSONObject

JSONObject json = new JSONObject();
json.putAll(stateMap);

但是,这些条目似乎是无序的。我想在 JSONObject 中保留 LinkedHashMap 的顺序。我怎样才能做到这一点?

最佳答案

JSONObject 不同,JSONArray 是一个有序的值序列。所以如果你想保留 map 的顺序,你可以用两个键构造你的 json 对象:

  • 第一个键可以称为 data 并将像这样保存您的 stateMap 数据:

    json.element('data', stateMap)
  • 第二个键可以称为 keys,它将是一个 JSONArray 对象,它将保存您的 map 键的有序列表,如下所示:

    JSONArray array = new JSONArray();
    array.addAll(stateMap.keySet())
    json.put('keys', array)

更多信息:

关于java - 如何在 JSONObject 中保留 LinkedHashMap 排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37429786/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com