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实现生成会变大变小的圆环实例
Aug 05 Javascript
jQuery+ajax实现文章点赞功能的方法
Dec 31 Javascript
AngularJS 让人爱不释手的八种功能
Mar 23 Javascript
jquery点击展示与隐藏更多内容
Dec 03 Javascript
js判断一个字符串是以某个字符串开头的简单实例
Dec 27 Javascript
详解基于Node.js的HTTP/2 Server实践
May 31 Javascript
浅谈React Native 传参的几种方式(小结)
May 21 Javascript
layui动态加载多表头的实例
Sep 05 Javascript
vue data恢复初始化数据的实现方法
Oct 31 Javascript
vue.config.js常用配置详解
Nov 14 Javascript
vue中改变滚动条样式的方法
Mar 03 Javascript
JavaScript使用setTimeout实现倒计时效果
Feb 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
在JavaScript中实现命名空间
2006/11/23 Javascript
优化JavaScript脚本的性能的几个注意事项
2006/12/22 Javascript
用函数式编程技术编写优美的 JavaScript_ibm
2008/05/16 Javascript
javascript温习的一些笔记 基础常用知识小结
2011/06/22 Javascript
Javascript实现关联数据(Linked Data)查询及注意细节
2013/02/22 Javascript
php析构函数的具体用法小结
2014/03/11 Javascript
浅谈JavaScript字符集
2014/05/22 Javascript
JS添加或修改控件的样式(Class)实现方法
2016/10/15 Javascript
微信小程序 页面跳转传参详解
2016/10/28 Javascript
Node.js中路径处理模块path详解
2016/11/14 Javascript
JS实现超简单的汉字转拼音功能示例
2016/12/22 Javascript
javascript观察者模式实现自动刷新效果
2017/09/05 Javascript
如何开发出更好的JavaScript模块
2017/12/22 Javascript
vue使用element-ui的el-input监听不了回车事件的解决方法
2018/01/12 Javascript
angularjs使用div模拟textarea文本框的方法
2018/10/02 Javascript
Vue递归实现树形菜单方法实例
2018/11/06 Javascript
微信小程序 网络通信实现详解
2019/07/23 Javascript
微信小程序之侧边栏滑动实现过程解析(附完整源码)
2019/08/23 Javascript
[44:04]OG vs Mineski 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
python提示No module named images的解决方法
2014/09/29 Python
遍历python字典几种方法总结(推荐)
2016/09/11 Python
Python logging管理不同级别log打印和存储实例
2018/01/19 Python
如何用Python实现简单的Markdown转换器
2018/07/16 Python
python使用Matplotlib画饼图
2018/09/25 Python
django的分页器Paginator 从django中导入类
2019/07/25 Python
Python生成并下载文件后端代码实例
2020/08/31 Python
Python创建自己的加密货币的示例
2021/03/01 Python
奥地利汽车配件店:Pkwteile.at
2017/03/10 全球购物
机关工会开展学习雷锋活动总结
2014/03/01 职场文书
预备党员转正考核材料
2014/06/03 职场文书
毕业生面试求职信
2014/06/23 职场文书
乡镇团委工作总结2015
2015/05/26 职场文书
初中班主任教育随笔
2015/08/15 职场文书
2016年植树节红领巾广播稿
2015/12/17 职场文书
Python操作CSV格式文件的方法大全
2021/07/15 Python
zabbix自定义监控nginx状态实现过程
2021/11/01 Servers