js前端傳json后臺(tái)接收‘‘被轉(zhuǎn)為quot的問(wèn)題解決
一、產(chǎn)生原因
前端傳json格式數(shù)據(jù),后臺(tái)接收卻發(fā)現(xiàn)有一堆& quot;,但是如果后臺(tái)接收參數(shù)用@RequestBody注解,則不會(huì)出現(xiàn)這個(gè)問(wèn)題,出現(xiàn)這一問(wèn)題的原因就是后臺(tái)沒有按照json格式去接收參數(shù),按照json接收參數(shù)的前提是請(qǐng)求頭 參數(shù)Content-Type:application/json,如此一來(lái),后臺(tái)框架才知道如何去處理參數(shù),但有時(shí)候遇到的需求無(wú)法這么寫,例如發(fā)送下載請(qǐng)求:
json格式參數(shù)最常見的是發(fā)送ajax請(qǐng)求,但是ajax無(wú)法觸發(fā)瀏覽器下載機(jī)制,故不支持下載使用;
用a標(biāo)簽發(fā)下載請(qǐng)求,攜帶參數(shù)有限,適合單個(gè)下載請(qǐng)求
利用form表單拼接參數(shù),提交表單發(fā)送請(qǐng)求,但無(wú)法發(fā)送攜帶json參數(shù)的請(qǐng)求,所以只能把json格式的字符串拼接到輸入框,后臺(tái)用String接收,這樣就會(huì)出現(xiàn)將引號(hào)轉(zhuǎn)譯為& quot;這一問(wèn)題。
二、解決方案
1、方案一
使用org.apache.commons.lang.StringEscapeUtils這個(gè)類下的unescapeHtml()這個(gè)方法
@RequestMapping("/downloads") public ResultVO downloads(String models) { String jsonModels = StringEscapeUtils.unescapeHtml(models); // 然后再去轉(zhuǎn)為你要的Object return ResultVO.success(); }
pom依賴
<dependency> <groupId>commons-lang</groupId> <artifactId>commons-lang</artifactId> <version>2.6</version> </dependency>
2、方案二
將所有的"替換回引號(hào)
String jsonModels = models.replaceAll(""", "\"");
三、結(jié)束
批量下載已搞定,頗有收獲,所以遇到問(wèn)題還是需要耐心分析,認(rèn)真記錄的,不僅要解決掉問(wèn)題,還要知根知底。
另外感謝這篇文章 https://blog.csdn.net/charset_ok/article/details/80239882
到此這篇關(guān)于js前端傳json后臺(tái)接收‘‘被轉(zhuǎn)為"的問(wèn)題解決的文章就介紹到這了,更多相關(guān)json后臺(tái)接收"內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
JavaScript禁止復(fù)制與粘貼的實(shí)現(xiàn)代碼
下面小編就為大家?guī)?lái)一篇JavaScript禁止復(fù)制與粘貼的實(shí)現(xiàn)代碼。小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧2016-05-05基于JavaScript實(shí)現(xiàn)的順序查找算法示例
這篇文章主要介紹了基于JavaScript實(shí)現(xiàn)的順序查找算法,結(jié)合實(shí)例形式分析了javascript順序查找的原理、實(shí)現(xiàn)技巧與相關(guān)注意事項(xiàng),需要的朋友可以參考下2017-04-04Js操作樹節(jié)點(diǎn)自動(dòng)折疊展開的幾種方法
這篇文章主要介紹了Js操作樹節(jié)點(diǎn)自動(dòng)折疊展開的幾種方法,需要的朋友可以參考下2014-05-05使用JSON格式提交數(shù)據(jù)到服務(wù)端的實(shí)例代碼
這篇文章主要介紹了使用JSON格式提交數(shù)據(jù)到服務(wù)端的實(shí)例代碼,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下2018-04-04從表單校驗(yàn)看JavaScript策略模式的使用詳解
這篇文章主要介紹了從表單校驗(yàn)看JavaScript策略模式的使用,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-10-10javascript AOP 實(shí)現(xiàn)ajax回調(diào)函數(shù)使用比較方便
javascript AOP 實(shí)現(xiàn)ajax回調(diào)函數(shù)使用比較方便,需要的朋友可以參考下。2010-11-11javascript組合使用構(gòu)造函數(shù)模式和原型模式實(shí)例
這篇文章主要介紹了javascript組合使用構(gòu)造函數(shù)模式和原型模式的方法,通過(guò)一個(gè)簡(jiǎn)單實(shí)例分析了javascript構(gòu)造函數(shù)模式與原型模式的使用方法,需要的朋友可以參考下2015-06-06