国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術(shù)文章
文章詳情頁

Java使用JSON傳遞字符串注意事項(xiàng)解析

瀏覽:99日期:2022-08-23 08:52:10

一、問題由來

項(xiàng)目開發(fā)中,由于實(shí)際需要將某一個功能模塊抽取成了一個單獨(dú)的服務(wù),其他地方需要調(diào)用的時候,通過Spring提供的RestTemplate類發(fā)送請求進(jìn)行調(diào)用。

經(jīng)過測試這種方法完全可行,我和同事都能夠正常使用,可是有一次調(diào)用一個方法時始終出現(xiàn)問題。調(diào)用方的參數(shù)可以正常傳遞,可是被調(diào)用方卻使用匹

配不上,尋找了很久都沒找到原因。

二、問題分析

問題主要在傳遞的invoType參數(shù)上,在被調(diào)用方一直匹配不上,兩邊都是使用switch語句進(jìn)行匹配,數(shù)據(jù)類型為String類型,調(diào)用方的switch語

句可以正常匹配,可是在被調(diào)用卻始終匹配不上,于是就執(zhí)行了默認(rèn)的default語句。并且被調(diào)用方也正常的接收到了invoType的值;

調(diào)用方傳參:

Java使用JSON傳遞字符串注意事項(xiàng)解析

被調(diào)用方獲取參數(shù);

Java使用JSON傳遞字符串注意事項(xiàng)解析

正常來說不應(yīng)該出現(xiàn)這樣的問題,既然被調(diào)用方能獲取到數(shù)據(jù),那就說明數(shù)據(jù)傳輸沒有問題,那到底是哪里出問題了呢?

經(jīng)過反復(fù)排查,打印最終找到問題的原因,打印輸出的結(jié)果如下:

Java使用JSON傳遞字符串注意事項(xiàng)解析

輸出的結(jié)果中,傳遞的字符串兩邊多了兩個雙引號因此導(dǎo)致出現(xiàn)問題,不能正確匹配。由于輸出的字符串,最開始看到的時候也沒在意,忽略了一點(diǎn)

直接輸出字符串時,變量的值兩邊是沒有雙引號的。

Java使用JSON傳遞字符串注意事項(xiàng)解析

那我這個調(diào)用方法中,雙引號的字符串是哪來的呢?是我在傳遞字符串的數(shù)據(jù)時使用JSON處理過。方法中調(diào)用的fastJson中的toJSONString()方法,

這樣在處理字符串的時候,就多了一對雙引號,最終導(dǎo)致后去到的參數(shù)不正確不能正常調(diào)用。

Java使用JSON傳遞字符串注意事項(xiàng)解析

三、解決方案

找到真正的問題后,解決辦法就非常好辦,對于單個字符串參數(shù),直接傳遞就行不需要將其轉(zhuǎn)換為JSON數(shù)據(jù)進(jìn)行傳遞。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 荣成市| 抚松县| 河津市| 雷山县| 凤台县| 察雅县| 怀来县| 依兰县| 辽中县| 巍山| 汤原县| 渝北区| 东宁县| 隆子县| 广德县| 九龙坡区| 昌宁县| 武冈市| 新蔡县| 会泽县| 如东县| 宜城市| 剑河县| 呈贡县| 阿克陶县| 沂南县| 云霄县| 都安| 昌平区| 姚安县| 雅江县| 安义县| 南投县| 涟源市| 枞阳县| 信阳市| 那曲县| 泊头市| 华安县| 潢川县| 海阳市|