java 後臺解析前臺傳json串雙引號轉義問題
阿新 • • 發佈:2018-11-07
jsp 頁面傳的String :
"[{"prodIndex":1,"catOne":"311","catOneName":"輪式拖拉機","brandId":"3","brand":"東方紅","model":"LX600","njName":"輪式拖拉機 LX600 東方紅","num":"2","referPrice":0,"referTotalPrice":0}]"
由於雙引號會被轉義:
[{"prodIndex":1,"catOne":"311","catOneName":"輪式拖拉機","brandId":"3","brand":"東方紅","model":"LX600","njName":"輪式拖拉機 LX600 東方紅","num":"2","referPrice":0,"referTotalPrice":0}]這時用gson轉出時會提示報錯
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is com.google.gson.JsonSyntaxException: com.google.gson.stream.MalformedJsonException: Expected ':' at line 1 column 9 path $[0]."at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:982)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:872)
解決辦法 使用 StringEscapeUtils 工具類 中 unescapeHtml4 方法 可以轉義
String newJson = StringEscapeUtils.unescapeHtml4(jsonStr);{
"prodIndex": 1,
"catOne": "311",
"catOneName": "輪式拖拉機",
"brandId": "3",
"brand": "東方紅",
"model": "LX600",
"njName": "輪式拖拉機 LX600 東方紅",
"num": "2",
"referPrice": "0",
"referTotalPrice": "0"
}
]