Fastjson解析出来的JSONObject(map)没有按照原json排序的解决办法

Fastjson解析出来的JSONObject(map)没有按照原json排序的解决办法

问题

一个api返回了这样一个数据形式,请求这个api后,会用到其中的排序信息

{
    "state": "0",
    "success": true,
    "data": {
        "1": 55,
        "2": 81,
        "3": 39,
        "4": 45,
        "5": 54,
        "6": 24,
        "7": 70,
        "8": 106,
        "9": 72,
        "10": 32
    }
}

使用如下代码,得到一个无序的的Map集合

JSONObject res = JSON.parseObject(json);
JSONObject data = res.getJSONObject("data");

解决

JSONObject res = JSON.parseObject(json, Feature.OrderedField);
LinkedHashMap data = JSON.parseObject(res.getString("data"), LinkedHashMap.class);

这样就得到一个有序Map集合

评论区
头像