前台傳遞給后台的JSON字符串中的引號 “” 在JAVA后台被轉義為 "
1、問題:
- 前台數據,JSON字符串帶有引號 “” ,數據被傳遞到后台,引號被轉義為 ",后台無法解析。
前台數據如下:正常

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

2、解決:
- 方法一:使用apache的lang包里的方法
String appJson = StringEscapeUtils.unescapeHtml(request.getParameter("appJson"));//appJson
- 方法二:直接使用String的replaceAll功能
planItemJson = planItemJson.replaceAll(""","\"");
3、原因分析:
- 可能是字符串本來就需要被雙引號包着,但是字符串中包含雙引號就需要轉義來區分,框架怎么處理的不太清楚,不過到了后台,字符串中的雙引號就變成了 "
4、參考:
- Spring MVC 參數自動綁定List的解決方案 https://my.oschina.net/weechang93/blog/779564 這個是解決方法二:
- js提交數據到后台(json)," 被轉譯 成了" http://blog.csdn.net/pengbin790000/article/details/78739386這是解決方法一的來源:
- 將json從前台傳到后台注意問題:http://blog.csdn.net/honeybaby201314/article/details/19988687
