欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

解決String字符串轉(zhuǎn)JSONObject順序不對的問題

 更新時間:2023年12月08日 08:39:08   作者:qq_35008710  
這篇文章主要介紹了解決String字符串轉(zhuǎn)JSONObject順序不對的問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

String字符串轉(zhuǎn)JSONObject順序不對

String goodsSpec={"21445":"套裝德絨紫","21447":"S"}

普通模式

JSONObject jsonObject = JSONObject.parseObject(json);或JSONObject goodsSpecs = jsonObject.getJSONObject(goodsSpec);

轉(zhuǎn)換返回

{"21447":"S","21445":"套裝德絨紫"}

原因

JsonObject內(nèi)部是用Hashmap來存儲的,所以輸出是按key的排序來的,如果要讓JsonObject按固定順序(put的順序)排列,可以修改JsonObject的定義HashMap改為LinkedHashMap

json解析的時候,通常順序會發(fā)生改變,如果我們有保持原有順序的需求的話可以通過如下方式

1、使用fastJson的Feature.OrderedField

JSONObject respJson = JSONObject.parseObject(jsonStr, Feature.OrderedField);

2、初始化JSONObject的時候

JSONObject(boolean ordered);

3、可以使用Google的Gson,使用gson解析的話是怎么傳就是什么順序

JsonObject jsonObject = new JsonParser().parse(jsonStr).getAsJsonObject();
LinkedHashMap<String, Object> jsonMap = JSON.parseObject(goodsSpec,LinkedHashMap.class, Feature.OrderedField);
JSONObject goodsSpecs = new JSONObject(true);
goodsSpecs.putAll(jsonMap);

最終結(jié)果

{"21445":"套裝德絨紫","21447":"S"}

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java中JFinal框架動態(tài)切換數(shù)據(jù)庫的方法

    Java中JFinal框架動態(tài)切換數(shù)據(jù)庫的方法

    這篇文章主要介紹了Java中JFinal框架動態(tài)切換數(shù)據(jù)庫的方法,本文通過兩種方法結(jié)合示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • mybatis 返回Map類型key改為小寫的操作

    mybatis 返回Map類型key改為小寫的操作

    這篇文章主要介紹了mybatis 返回Map類型key改為小寫的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • 字節(jié)二面SpringBoot可以同時處理多少請求

    字節(jié)二面SpringBoot可以同時處理多少請求

    這篇文章主要為大家介紹了字節(jié)二面之SpringBoot可以同時處理多少請求面試分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-07-07
  • Mybatis使用大于等于或小于等于進行比較

    Mybatis使用大于等于或小于等于進行比較

    本文主要介紹了Mybatis使用大于等于或小于等于進行比較,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-03-03
  • spring boot加載freemarker模板路徑的方法

    spring boot加載freemarker模板路徑的方法

    這篇文章主要介紹了spring boot加載freemarker模板路徑的方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-11-11
  • Java調(diào)用打印機的2種方式舉例(無驅(qū)/有驅(qū))

    Java調(diào)用打印機的2種方式舉例(無驅(qū)/有驅(qū))

    我們平時使用某些軟件或者在超市購物的時候都會發(fā)現(xiàn)可以使用打印機進行打印,這篇文章主要給大家介紹了關(guān)于Java調(diào)用打印機的2種方式,分別是無驅(qū)/有驅(qū)的相關(guān)資料,需要的朋友可以參考下
    2023-11-11
  • SpringBoot接口路徑重復(fù),啟動服務(wù)器失敗的解決

    SpringBoot接口路徑重復(fù),啟動服務(wù)器失敗的解決

    這篇文章主要介紹了SpringBoot接口路徑重復(fù),啟動服務(wù)器失敗的解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • springboot+vue實現(xiàn)Token自動續(xù)期(雙Token方案)

    springboot+vue實現(xiàn)Token自動續(xù)期(雙Token方案)

    雙Token方案通過訪問令牌和刷新令牌提高用戶登錄安全性和體驗,訪問令牌有效期短,包含用戶信息,用于請求校驗,本文就來介紹一下springboot+vue實現(xiàn)Token自動續(xù)期(雙Token方案),感興趣的可以了解一下
    2024-10-10
  • Java分布式學習之Kafka消息隊列

    Java分布式學習之Kafka消息隊列

    Kafka是由Apache軟件基金會開發(fā)的一個開源流處理平臺,由Scala和Java編寫。Kafka是一種高吞吐量的分布式發(fā)布訂閱消息系統(tǒng),它可以處理消費者在網(wǎng)站中的所有動作流數(shù)據(jù)
    2022-07-07
  • Java 8 開發(fā)的 Mybatis 注解代碼生成工具

    Java 8 開發(fā)的 Mybatis 注解代碼生成工具

    MybatisAnnotationTools 是基于 Java8 開發(fā)的一款可以用于自動化生成 MyBatis 注解類的工具,支持配置數(shù)據(jù)源、類路徑,表名去前綴、指定類名前后綴等功能.這篇文章主要介紹了Java 8 開發(fā)的 Mybatis 注解代碼生成工具 ,需要的朋友可以參考下
    2019-07-07

最新評論