Java中JSONObject读取数据重新排序问题

JSONObject.put数据后,会有个排序动作。
如:

"params": [{
                "key": "arg0",
                "value": "*act*null*act*"
            },
            {
                "key": "arg1",
                "value": "*space*5a56tq08xf*space*"
            }, {
                "key": "arg2",
                "value": "*ba_lr*null*ba_lr*"
            }
        ]

取出来的结果是:

{"arg2":"*ba_lr* *ba_lr*","arg1":"*space*5a56tq08xf*space*","arg0":"*act* *act*"}

根因是JsonObject内部是用Hashmap来存储的,输出是按key的排序来的,如果要让JsonObject按固定顺序(put的顺序)排列,可以修改JsonObject的定义HashMap改为LinkedHashMap。

JSONObject jsonObj =new JSONObject(newLinkedHashMap());

这样定义的JSONObject对象就能满足顺序不变的要求了。

参考文献:
https://blog.csdn.net/Butterfly_resting/article/details/100053544

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容