java 后台解析前台传json串双引号转义问题

在JSP页面中,当传递包含双引号的JSON字符串到Java后台时,双引号被自动转义导致Gson解析失败。为了解决这个问题,可以使用Apache的StringEscapeUtils工具类的unescapeHtml4方法进行转义处理,从而成功转换JSON字符串。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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].&quot
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"
    }
]

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值