JOSN字符串中單引號雙引號處理,HTML中常用字符實體相互轉換

1.JOSN字符串中單引號雙引號處理

情況:頁面中使用後端傳來的json(字符串中有單引號或者雙引號),我用的freemarker模板

//json內容,注意key"name" 的值中有個單引號
String json = "{\"name\":\"levi's\",\"age\":\"18\"}";
model.addAttribute("json", json);
//freemarker中的js代碼
var user = '${json}';
//freemarker模板引擎處理過後顯示到瀏覽器的js代碼
var user = '{"name":"levi's","age":"18"}';

這時因爲json中有單引號,所以解析頁面取值就會失敗。所以要轉譯json中的特殊字符

//java代碼
String json = "{\"name\":\"levi's\",\"age\":\"18\"}";
json = json.replaceAll("'", "'");
//freemarker模板引擎處理過後顯示到瀏覽器的js代碼
var user = '{"name":"levi's","age":"18"}'

這樣name字段在頁面顯示的時候就會解析爲"levi’s"

常用html轉義字符 :
在這裏插入圖片描述
符一個實體名稱與對應字符互轉的Java工具類

HTML中常用字符實體相互轉換

commons-lang3-3.1.jar中StringEscapeUtils

StringEscapeUtils.unescapeHtml4(">script>alert(2);</script>");
//輸出:<script>alert(2);</script>
StringEscapeUtils.escapeHtml4("<script>alert(\"2\");</script>");
//輸出:&lt;script&gt;alert(&quot;2&quot;);&lt;/script&gt;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章