jsonobject顺序不对怎么办?jsonobject有序排列方法

阳光 2020-12-30 20:27:55 java常见问答 5004

JSONObject只是一种数据结构,可以理解为JSON格式的数据结构,JSONObject可以很方便的转换成字符串,也可以很方便的把其他对象转换成JSONObject对象。但是大家在运营jsonobject的时候,它的顺序不对,不知道要怎么解决?下面我们就给大家讲解一下。

1、由于 com.alibaba.fastjson.JSONObject 默认是由hashMap组成的,所以内容存放的顺序并不是有序的;

如果要实现有序的话需要使用LinkedHashMap的方式,在新建Json对象的时候要这样写

JSONObject jsob = new JSONObject(new LinkedHashMap());

2、有时候Json的顺序并不是我们想要的时候,需要进行下倒叙,这里的思路是可以把json转换为ArrayList然后再顺序反转

ArrayListsleepData = new ArrayList();
sleepData.addAll(sleepList);
Collections.reverse(sleepData);

在这里需要注意的是ArrayList的底层是数组,在Collections.reverse()方法进行反转顺序的时候操作的数组,会导致所有引用改集合的变量顺序都反转了;所以在必要的时候自己new一个对象进行操作。

下面大家了解一下JsonObject的作用:

JsonObject 就是常说的json。是一种重要的数据传输对象。其格式为{"key1":value1,"key2",value2....};key 必须是字符串。

因为ajax请求不刷新页面,但配合js可以实现局部刷新,因此json常常被用来作为异步请求的返回对象使用。

通过response.getWriter()获取PrintWriter pw,然后pw.print(json)。如果没有设置response.setContentType("application/json; charset=utf-8"); 则需要自己再js中进行解析。

JsonObject一些操作:

1、插入元素

JSONObject jsonObject = JSONObject.parseObject(param);
kpiCfgObject.put(key, value);

2、遍历

for (Map.Entryentry: jsonObject.entrySet())
{
    entry.getKey() + "&" + entry.getValue()
        .toString();
}

好了,今天的分享到这里就结束了,jsonobject顺序不对的话,大家可以参考以上的方法,另外最为java程序员也要知道jsonobject的作用以及它的操作方法哦,最后大家如果想要了解更多json工具教程知识,敬请关注奇Q工具网。

推荐阅读:

json格式怎么打开?json格式打不开是什么原因?

java读取json文件内容详解

ajax请求的五个步骤有哪些?与jsonp有何不同?