如何解決fastJson無序問題?

2021-08-21 14:38:12 字數 692 閱讀 1550

在開發過程中,遇到過一種一開始覺得很莫名其妙的情況——在將json解析成乙個map的時候,會出現順序顛倒的情況,雖然資料讀取和儲存都沒有出錯,但是順序的顛倒在開發中處理特定問題時也是一件很令人頭疼的事情,那麼為什麼會出現這種情況,怎麼避免出現這種情況呢?(解決方法**於網路)

跟蹤fastjson原始碼,在com.alibaba.fastjson.parser.defaultjsonparser 類中475行發現:

else

if (ch == '{') { // 減少巢狀,相容android

lexer.nexttoken();

final

boolean parentisarray = fieldname != null && fieldname.getclass() == integer.class;

jsonobject input = new jsonobject(lexer.isenabled(feature.orderedfield));

在fastjson會進行feature.orderfield的判斷,如果在解析json的時候加上這一條屬性,即可解決json解析後亂序的問題,具體**如下:

hashmap m= json.parseobject(json,linkedhashmap.class,feature.orderedfield);

如何解決IE開啟Word Excel亂碼問題

在 weblogic 應用程式下對於有時上傳的檔案,如 word excel weblogic 容器預設情況下可能是以記事本開啟從而導致亂碼現象。為解決此問題可以在你的專案 project 下的web.xml檔案中增加如下 即可解決直接開啟而出現亂碼問題.web.xml在web inf目錄下面.至此...

如何解決shell執行派生子shell問題

筆者今天寫了乙個shell script,希望簡化登入 伺服器的問題,可是script寫好之後,卻發現沒有按照預想的情況下得到環境變數。加入如下配置 按照平時的執行方法,我們通常是 等同於以下執行效果 等同於以下執行效果 然後你檢查環境變數,結果發現輸出的都是空值,然後聯絡了一位開源界的前輩 我也不...

如何解決併發

雖然從巨集觀上,處理器是並行處理多項任務,但本質上乙個處理器在某個時間點只能處理乙個任務,屬於序列執行。在單處理器的情況下,併發問題源於多道程式設計系統的乙個基本特性 程序的相對執行速度不可 它取決於其他程序的活動 作業系統處理中斷的方式以及作業系統的排程策略。在分布式環境下,併發產生的可能性就更大...