前台傳遞給后台的JSON字符串中的引號 “” 在JAVA后台被轉義為 "


前台傳遞給后台的JSON字符串中的引號 “” 在JAVA后台被轉義為 &quot

1、問題:

  • 前台數據,JSON字符串帶有引號 “” ,數據被傳遞到后台,引號被轉義為 &quot,后台無法解析。
  • 前台數據如下:正常

  • 后台數據如下:大部分正常,只有JSON字符串中的“” 被轉義為 &quot

2、解決:

  • 方法一:使用apache的lang包里的方法
    String appJson = StringEscapeUtils.unescapeHtml(request.getParameter("appJson"));//appJson
  • 方法二:直接使用String的replaceAll功能
    planItemJson = planItemJson.replaceAll(""","\"");

3、原因分析:

  • 可能是字符串本來就需要被雙引號包着,但是字符串中包含雙引號就需要轉義來區分,框架怎么處理的不太清楚,不過到了后台,字符串中的雙引號就變成了 &quot

4、參考:

  1. Spring MVC 參數自動綁定List的解決方案 https://my.oschina.net/weechang93/blog/779564 這個是解決方法二:
  2. js提交數據到后台(json)," 被轉譯 成了" http://blog.csdn.net/pengbin790000/article/details/78739386這是解決方法一的來源:
  3. 將json從前台傳到后台注意問題:http://blog.csdn.net/honeybaby201314/article/details/19988687

5、結束


免責聲明!

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



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