美文网首页
Java中JSONObject读取数据重新排序问题

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

作者: 刺猬Hedgehog | 来源:发表于2021-09-03 16:21 被阅读0次

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

相关文章

网友评论

      本文标题:Java中JSONObject读取数据重新排序问题

      本文链接:https://www.haomeiwen.com/subject/hpykwltx.html