js前端传json后台接收‘‘被转为quot的问题解决


Posted in Javascript onNovember 12, 2020

一、产生原因

        前端传json格式数据,后台接收却发现有一堆& quot;,但是如果后台接收参数用@RequestBody注解,则不会出现这个问题,出现这一问题的原因就是后台没有按照json格式去接收参数,按照json接收参数的前提是请求头 参数Content-Type:application/json,如此一来,后台框架才知道如何去处理参数,但有时候遇到的需求无法这么写,例如发送下载请求:
        json格式参数最常见的是发送ajax请求,但是ajax无法触发浏览器下载机制,故不支持下载使用;

        用a标签发下载请求,携带参数有限,适合单个下载请求

        利用form表单拼接参数,提交表单发送请求,但无法发送携带json参数的请求,所以只能把json格式的字符串拼接到输入框,后台用String接收,这样就会出现将引号转译为& quot;这一问题。

二、解决方案

1、方案一

        使用org.apache.commons.lang.StringEscapeUtils这个类下的unescapeHtml()这个方法

@RequestMapping("/downloads")
public ResultVO downloads(String models) {
 String jsonModels = StringEscapeUtils.unescapeHtml(models);
 // 然后再去转为你要的Object
 
 return ResultVO.success();
}

        pom依赖

<dependency>
 <groupId>commons-lang</groupId>
 <artifactId>commons-lang</artifactId>
 <version>2.6</version>
</dependency>

2、方案二

        将所有的"替换回引号

String jsonModels = models.replaceAll(""", "\"");

三、结束

        批量下载已搞定,颇有收获,所以遇到问题还是需要耐心分析,认真记录的,不仅要解决掉问题,还要知根知底。 

        另外感谢这篇文章 https://blog.csdn.net/charset_ok/article/details/80239882

到此这篇关于js前端传json后台接收‘‘被转为"的问题解决的文章就介绍到这了,更多相关json后台接收"内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
妙用Jquery的val()方法
Jun 27 Javascript
Javascript实现动态菜单添加的实例代码
Jul 05 Javascript
Javascript中实现trim()函数的两种方法
Feb 04 Javascript
使用EVAL处理jqchart jquery 折线图返回数据无效的解决办法
Nov 26 Javascript
javascript日期验证之输入日期大于等于当前日期
Dec 13 Javascript
jQuery实现拖拽页面元素并将其保存到cookie的方法
Jun 12 Javascript
很棒的Bootstrap选项卡切换效果
Jul 01 Javascript
利用10行js代码实现上下滚动公告效果
Dec 08 Javascript
JS关于刷新页面的相关总结
May 09 Javascript
JavaScript设计模式之享元模式实例详解
Jan 17 Javascript
keep-alive不能缓存多层级路由菜单问题解决
Mar 10 Javascript
通过滑动翻页效果实现和移动端click事件问题
Jan 26 Javascript
使用Vant完成DatetimePicker 日期的选择器操作
Nov 12 #Javascript
JavaScript 实现拖拽效果组件功能(兼容移动端)
Nov 11 #Javascript
vant 中van-list的用法说明
Nov 11 #Javascript
让Vue响应Map或Set的变化操作
Nov 11 #Javascript
vue项目中使用rem,在入口文件添加内容操作
Nov 11 #Javascript
VUE前端从后台请求过来的数据进行转换数据结构操作
Nov 11 #Javascript
Vue 防止短时间内连续点击后多次触发请求的操作
Nov 11 #Javascript
You might like
深入php self与$this的详解
2013/06/08 PHP
php实现加减法验证码代码
2014/02/14 PHP
php顺序查找和二分查找示例
2014/03/27 PHP
ThinkPHP3.1新特性之Action参数绑定
2014/06/19 PHP
PHP抓取及分析网页的方法详解
2016/04/26 PHP
PHP微信公众号自动发送红包API
2016/06/01 PHP
Extjs学习笔记之六 面版
2010/01/08 Javascript
用js实现table单元格高宽调整,兼容合并单元格(兼容IE6、7、8、FF)实例
2013/06/25 Javascript
JavaScript删除指定子元素代码实例
2015/01/13 Javascript
jquery控制背景音乐开关与自动播放提示音的方法
2015/02/06 Javascript
JS实现简单路由器功能的方法
2015/05/27 Javascript
JQuery给网页更换皮肤的方法
2015/05/30 Javascript
JavaScript中boolean类型之三种情景实例代码
2016/11/21 Javascript
js实现拖拽功能
2017/03/01 Javascript
详解Vue学习笔记进阶篇之列表过渡及其他
2017/07/17 Javascript
js中apply与call简单用法详解
2017/11/06 Javascript
解决angular2 获取到的数据无法实时更新的问题
2018/08/31 Javascript
vue+axios实现post文件下载
2019/09/25 Javascript
vue项目中自定义video视频控制条的实现代码
2020/04/26 Javascript
[02:57]2014DOTA2国际邀请赛 选手辛苦解说更辛苦
2014/07/10 DOTA
Windows系统下多版本pip的共存问题详解
2017/10/10 Python
浅谈Python 列表字典赋值的陷阱
2019/01/20 Python
pandas dataframe添加表格框线输出的方法
2019/02/08 Python
python 求一个列表中所有元素的乘积实例
2019/06/11 Python
世界最大的海报和艺术印刷商店:AllPosters.com
2017/02/01 全球购物
银河香水:Galaxy Perfume
2019/03/25 全球购物
业务经理岗位职责
2013/11/11 职场文书
农场厂长岗位职责
2013/12/28 职场文书
单位未婚证明范本
2014/01/18 职场文书
运动会广播稿50字
2014/01/26 职场文书
会计电算化专业自荐信
2014/03/15 职场文书
机关节能减排实施方案
2014/03/17 职场文书
幽默自我介绍演讲稿
2014/08/21 职场文书
领导班子三严三实对照检查材料
2014/09/25 职场文书
[有人@你]你有一封绿色倡议书,请查收!
2019/07/18 职场文书
JS中如何优雅的使用async await详解
2021/10/05 Javascript