JSONObject如何有序排列

2022-05-05 07:39:07 字數 525 閱讀 9364

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乙個物件進行操作

Json字串轉jsonobject的排序問題

static string json 前面的那個字串直接用 jsonobject jsonobject jsonobject.parseobject json 轉換會返回 和之前的順序不一致 原因jsonobject內部是用hashmap來儲存的,所以輸出是按key的排序來的,如果要讓jsonobj...

LinkedHashMap如何保證有序

我們常說linkedhashmap是有序的,這個有序也是分為兩種的,分別是 插入順序和訪問順序,我們可以通俗的認為 linkedhashmap hashmap 雙向鍊錶 以下的學習是基於jdk8 根據linkedhashmap的結構來看,是依賴於hashmap的,通過檢視原始碼,我們也會發現,lin...

kafka如何保證訊息有序

兩種方案 方案一,kafka topic 只設定乙個partition分割槽 方案二,producer將訊息傳送到指定partition分割槽 解析 方案一 kafka預設保證同乙個partition分區內的訊息是有序的,則可以設定topic只使用乙個分割槽,這樣訊息就是全域性有序,缺點是只能被co...