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 相关文章推荐
深入认识JavaScript中的函数
Jan 22 Javascript
JQuery 引发两次$(document.ready)事件
Jan 15 Javascript
Jquery响应回车键直接提交表单操作代码
Jul 25 Javascript
node.js中的fs.ftruncate方法使用说明
Dec 15 Javascript
js验证上传图片的方法
May 12 Javascript
Vue.js一个文件对应一个组件实践
Oct 27 Javascript
vue-cli开发环境实现跨域请求的方法
Apr 07 Javascript
JS模拟实现哈希表及应用详解
May 04 Javascript
vue-cli 引入、配置axios的方法
May 08 Javascript
Vue唯一可以更改vuex实例中state数据状态的属性对象Mutation的讲解
Jan 18 Javascript
vue如何搭建多页面多系统应用
Jun 17 Javascript
完美解决vue 中多个echarts图表自适应的问题
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生成随机密码的三种方法小结
2010/09/04 PHP
兼容性比较好的PHP生成缩略图的代码
2011/01/12 PHP
php 搜索框提示(自动完成)实例代码
2012/02/05 PHP
显示程序执行时间php函数代码
2013/08/29 PHP
php中autoload的用法总结
2013/11/08 PHP
PHP 下载文件时自动添加bom头的方法实例
2014/01/10 PHP
Zend Framework教程之Zend_Layout布局助手详解
2016/03/04 PHP
ThinkPHP 3.2.3实现加减乘除图片验证码
2018/12/05 PHP
laravel与thinkphp之间的区别与优缺点
2021/03/02 PHP
鼠标移动到一张图片时变为另一张图片
2006/12/05 Javascript
新手常遇到的一些jquery问题整理
2010/08/16 Javascript
js自定义事件代码说明
2011/01/31 Javascript
javascript中的onkeyup和onkeydown区别介绍
2013/04/28 Javascript
JS将表单导出成EXCEL的实例代码
2013/11/11 Javascript
js如何设置在iframe框架中指定div不显示
2013/12/04 Javascript
jquery的幻灯片图片切换效果代码分享
2015/09/07 Javascript
基于jQuery实现弹出可关闭遮罩提示框实例代码
2016/07/18 Javascript
bootstrap表单示例代码分享
2017/05/18 Javascript
react-native 封装选择弹出框示例(试用ios&amp;android)
2017/07/11 Javascript
微信小程序商品详情页规格属性选择示例代码
2017/10/30 Javascript
原生javascript实现连连看游戏
2019/01/03 Javascript
js getBoundingClientRect使用方法详解
2019/07/17 Javascript
微信小程序webview 脚手架使用详解
2019/07/22 Javascript
动态实现element ui的el-table某列数据不同样式的示例
2021/01/22 Javascript
js面向对象方式实现拖拽效果
2021/03/03 Javascript
selenium python 实现基本自动化测试的示例代码
2019/02/25 Python
对Python _取log的几种方式小结
2019/07/25 Python
澳洲小众品牌的集合网站:BNKR
2018/02/23 全球购物
Kusmi茶美国官网:优质散叶茶和茶包
2019/10/13 全球购物
餐饮企业总经理岗位职责范文
2014/02/18 职场文书
关于读书的演讲稿
2014/05/07 职场文书
中国梦读书活动总结
2014/07/10 职场文书
幼儿教师暑期培训方案
2014/08/27 职场文书
避暑山庄导游词
2015/02/04 职场文书
行政人事主管岗位职责
2015/04/11 职场文书
如何用JavaScript检测当前浏览器是无头浏览器
2021/04/27 Javascript