亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

正則表達式刪除某些對使用 gson 從 pojo 獲取的 json 字符串不起作用的字符

正則表達式刪除某些對使用 gson 從 pojo 獲取的 json 字符串不起作用的字符

qq_笑_17 2023-06-21 15:41:11
我正在使用 gson 將 pojo 轉換為 json 字符串。在該字符串上,我想刪除某些字符,然后再轉換回 pojo。我的目標是從 pojo 中刪除這些字符。我希望這個函數是通用的,因為它將用于不同類型的 pojo。我嘗試過使用 jackson 和 gson 將 pojo 轉換為字符串,但沒有一個起作用public <T> T sanitise(T object, Class<T> class){     return gson.fromJson(gson.toJson(object).replaceAll("[\\s]", ""), class); }我得到這個:{"field1":"entry","field2":"\tentry\t","field3":"entry\tentry","field4":["\tentry\t","\tentry\tentry\t","entry"]}的輸出gson.toJson(pojo, pojoClass)。我想要這個 {"field1":"entry","field2":"entry","field3":"entryentry","field4":["entry","entryentry","entry"]}:pojo 是某個 pojoClass 的對象。.replaceAll("[\\s]", "")當我傳遞字符串"\t\r\ndummy"但不處理輸出時有效gson.toJson()
查看完整描述

1 回答

?
弒天下

TA貢獻1818條經驗 獲得超8個贊

您說它在傳遞 Java 字符串文字時有效"\t\r\ndummy",但那是因為\t\r, 和\n已被 Java 編譯器轉換為TABCR, 和字符,從而產生 string 。LF<TAB><CR><LF>dummy

"\\s"您說當使用包含 的輸入的正則表達式時它不起作用"field2":"\tentry\t",但那是因為\t有兩個字符\t,而不是該TAB字符。

如果你想消除text \t,那么你需要 regex "\\\\t",它是 regex 的 Java 字符串文字\\t,表示該\字符后面跟著該t字符。

使用replaceAll("\\\\t", "")而不是replaceAll("[\\s]", "").


查看完整回答
反對 回復 2023-06-21
  • 1 回答
  • 0 關注
  • 154 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號