GSON使用之對特殊字符的轉換的處理


很多人是在轉換時特殊字符被替換成了unicode編程格式,而我碰到的類似,只不過是后台轉換成json字符串到前端,前端解析時 '' 雙引號和 / 斜杠被原樣轉換,沖突了json的關鍵字符,導致解析時提示某某位置有錯誤.

解決方法,總有一款適合你:

Gson gs = new GsonBuilder()
                .setPrettyPrinting()
                .disableHtmlEscaping()
                .create();

 

①Gson gson = new Gson();
    gson.toString(obj);
    會對HTML_SAFE_REPLACEMENT_CHARS數組中的字符串進行替換

②GsonBuilder gsonBuilder = new GsonBuilder();
   Gson gson = builder.create();
    gson.toString(obj);
    會對HTML_SAFE_REPLACEMENT_CHARS數組中的字符串進行替換


③ GsonBuilder gsonBuilder = new GsonBuilder();
     gsonBuilder.disableHtmlEscaping();
     Gson gson = builder.create();   
     gson.toString(obj);
    會對REPLACEMENT_CHARS數組中的字符串進行替換

 

優點:找到對應方法自然省去了后台繁雜低效率的對大字符串進行替換操作

Gson gson = new GsonBuilder()
         .excludeFieldsWithoutExposeAnnotation() //不對沒有用@Expose注解的屬性進行操作
         .enableComplexMapKeySerialization() //當Map的key為復雜對象時,需要開啟該方法
         .serializeNulls() //當字段值為空或null時,依然對該字段進行轉換
         .setDateFormat("yyyy-MM-dd HH:mm:ss:SSS") //時間轉化為特定格式
         .setPrettyPrinting() //對結果進行格式化,增加換行
         .disableHtmlEscaping() //防止特殊字符出現亂碼
         .registerTypeAdapter(User.class,new UserAdapter()) //為某特定對象設置固定的序列或反序列方式,自定義Adapter需實現JsonSerializer或者JsonDeserializer接口
         .create();

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM