欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2020年10月10日 10:10:10   作者:一只愛閱讀的程序員  
這篇文章主要介紹了Java使用JSON傳遞字符串注意事項(xiàng)解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

一、問(wèn)題由來(lái)

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

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

配不上,尋找了很久都沒(méi)找到原因。

二、問(wèn)題分析

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

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

調(diào)用方傳參:

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

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

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

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

直接輸出字符串時(shí),變量的值兩邊是沒(méi)有雙引號(hào)的。

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

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

三、解決方案

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

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java后端產(chǎn)生驗(yàn)證碼后臺(tái)驗(yàn)證功能的實(shí)現(xiàn)代碼

    Java后端產(chǎn)生驗(yàn)證碼后臺(tái)驗(yàn)證功能的實(shí)現(xiàn)代碼

    這篇文章主要介紹了Java后臺(tái)產(chǎn)生驗(yàn)證碼后臺(tái)驗(yàn)證功能,本文文字結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-06-06
  • Cookie在Java中的使用

    Cookie在Java中的使用

    Cookie又稱“小甜餅”,類型為“小型文本文件”,指某些網(wǎng)站為了辨別用戶身份而儲(chǔ)存在用戶本地終端(Client Side)上的數(shù)據(jù)(通常經(jīng)過(guò)加密)。由用戶客戶端計(jì)算機(jī)暫時(shí)或永久保存的信息。本文將講解Cookie在Java中的使用,感興趣的朋友可以了解下
    2021-05-05
  • Springcloud Stream消息驅(qū)動(dòng)工具使用介紹

    Springcloud Stream消息驅(qū)動(dòng)工具使用介紹

    SpringCloud Stream由一個(gè)中間件中立的核組成,應(yīng)用通過(guò)SpringCloud Stream插入的input(相當(dāng)于消費(fèi)者consumer,它是從隊(duì)列中接收消息的)和output(相當(dāng)于生產(chǎn)者producer,它是發(fā)送消息到隊(duì)列中的)通道與外界交流
    2022-09-09
  • JavaSE實(shí)現(xiàn)電影院系統(tǒng)

    JavaSE實(shí)現(xiàn)電影院系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了JavaSE實(shí)現(xiàn)電影院系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • java導(dǎo)出csv方法實(shí)現(xiàn)講解

    java導(dǎo)出csv方法實(shí)現(xiàn)講解

    這篇文章主要介紹了java導(dǎo)出csv的方法,客戶要求在項(xiàng)目中有導(dǎo)出CSV文件的功能,并且給出了如何在不知道如何在不知道對(duì)象類型(沒(méi)有應(yīng)用泛型)的List中如何得到對(duì)象的屬性值,下面就詳細(xì)說(shuō)下這個(gè)功能是如何實(shí)現(xiàn)的
    2013-12-12
  • Java PDF 添加數(shù)字簽名的實(shí)現(xiàn)方法

    Java PDF 添加數(shù)字簽名的實(shí)現(xiàn)方法

    這篇文章主要介紹了Java PDF 添加數(shù)字簽名的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • 如何使用pipeline和jacoco獲取自動(dòng)化測(cè)試代碼覆蓋率

    如何使用pipeline和jacoco獲取自動(dòng)化測(cè)試代碼覆蓋率

    這篇文章主要介紹了如何使用pipeline和jacoco獲取自動(dòng)化測(cè)試代碼覆蓋率,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-11-11
  • springBoot項(xiàng)目中使用@Value取值出現(xiàn)的問(wèn)題及解決

    springBoot項(xiàng)目中使用@Value取值出現(xiàn)的問(wèn)題及解決

    這篇文章主要介紹了springBoot項(xiàng)目中使用@Value取值出現(xiàn)的問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • Java 詳解包裝類Integer與int有哪些共通和不同

    Java 詳解包裝類Integer與int有哪些共通和不同

    這篇文章主要介紹的是 Java中int和Integer的區(qū)別,Java 是一種強(qiáng)數(shù)據(jù)類型的語(yǔ)言,因此所有的屬性必須有一個(gè)數(shù)據(jù)類型,下面文章基于Java詳細(xì)int和Integer有何區(qū)別,需要的朋友可以參考一下
    2022-04-04
  • 基于logback 實(shí)現(xiàn)springboot超級(jí)詳細(xì)的日志配置

    基于logback 實(shí)現(xiàn)springboot超級(jí)詳細(xì)的日志配置

    java web 下有好幾種日志框架,比如:logback,log4j,log4j2(slj4f 并不是一種日志框架,它相當(dāng)于定義了規(guī)范,實(shí)現(xiàn)了這個(gè)規(guī)范的日志框架就能夠用 slj4f 調(diào)用)。這篇文章主要介紹了基于logback springboot超級(jí)詳細(xì)的日志配置,需要的朋友可以參考下
    2019-06-06

最新評(píng)論