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 相关文章推荐
js几个验证函数代码
Mar 25 Javascript
利用js的Node遍历找到repeater的一个字段实例介绍
Apr 25 Javascript
jquery修改属性值实例代码(设置属性值)
Jan 06 Javascript
javascript制作loading动画效果 loading效果
Jan 14 Javascript
javascript读写json示例
Apr 11 Javascript
jQuery动态创建html元素的常用方法汇总
Sep 05 Javascript
JavaScript阻止浏览器返回按钮的方法
Mar 18 Javascript
js+canvas绘制矩形的方法
Jan 28 Javascript
vue .sync修饰符的使用详解
Jun 15 Javascript
vue实现的组件兄弟间通信功能示例
Dec 04 Javascript
详解Vue、element-ui、axios实现省市区三级联动
May 07 Javascript
VueJS 取得 URL 参数值的方法
Jul 19 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强制用户转向www域名的方法
2015/06/19 PHP
php无限级分类实现方法分析
2016/10/19 PHP
js tab 选项卡
2009/04/26 Javascript
javascript(jquery)利用函数修改全局变量的代码
2009/11/02 Javascript
基于jquery的一行代码轻松实现拖动效果
2010/12/28 Javascript
使用indexOf等在JavaScript的数组中进行元素查找和替换
2013/09/18 Javascript
jquery制作搜狐快站页面效果示例分享
2014/02/21 Javascript
jQuery自带的一些常用方法总结
2014/09/03 Javascript
JavaScript实现获取dom中class的方法
2015/02/09 Javascript
浅谈使用MVC模式进行JavaScript程序开发
2015/11/10 Javascript
浅谈Emergence.js 检测元素可见性的 js 插件
2017/11/18 Javascript
JS判断两个数组或对象是否相同的方法示例
2019/02/28 Javascript
微信小程序使用canvas自适应屏幕画海报并保存图片功能
2019/07/25 Javascript
Vue 实现一个命令式弹窗组件功能
2019/09/25 Javascript
es6函数name属性功能与用法实例分析
2020/04/18 Javascript
[02:04]2018DOTA2亚洲邀请赛Secret赛前采访
2018/04/03 DOTA
[01:03:13]VG vs Pain 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
python和shell实现的校验IP地址合法性脚本分享
2014/10/23 Python
使用Python的Bottle框架写一个简单的服务接口的示例
2015/08/25 Python
实例讲解Python编程中@property装饰器的用法
2016/06/20 Python
SQLite3中文编码 Python的实现
2017/01/11 Python
在Python中使用Neo4j的方法
2019/03/14 Python
使用OpenCV实现仿射变换—旋转功能
2019/08/29 Python
在pytorch中对非叶节点的变量计算梯度实例
2020/01/10 Python
解决Tensorflow占用GPU显存问题
2020/02/03 Python
小白教你PyCharm从下载到安装再到科学使用PyCharm2020最新激活码
2020/09/25 Python
Opencv 图片的OCR识别的实战示例
2021/03/02 Python
Rosetta Stone官方网站:语言学习
2019/01/05 全球购物
生物制药自我鉴定
2014/01/25 职场文书
领导干部个人整改措施落实情况汇报
2014/10/29 职场文书
幼儿园父亲节活动总结
2015/02/12 职场文书
爱心捐款活动总结
2015/05/09 职场文书
导游词之青岛崂山
2019/12/27 职场文书
Vue.js 带下拉选项的输入框(Textbox with Dropdown)组件
2021/04/17 Vue.js
RPM包方式安装Oracle21c的方法详解
2021/08/23 Oracle
深入浅出讲解Java8函数式编程
2022/01/18 Java/Android