Java使用JSON传递字符串注意事项解析
作者:一只爱阅读的程序员 发布时间:2021-11-05 13:35:37
一、问题由来
项目开发中,由于实际需要将某一个功能模块抽取成了一个单独的服务,其他地方需要调用的时候,通过Spring提供的RestTemplate类发送请求进行调用。
经过测试这种方法完全可行,我和同事都能够正常使用,可是有一次调用一个方法时始终出现问题。调用方的参数可以正常传递,可是被调用方却使用匹
配不上,寻找了很久都没找到原因。
二、问题分析
问题主要在传递的invoType参数上,在被调用方一直匹配不上,两边都是使用switch语句进行匹配,数据类型为String类型,调用方的switch语
句可以正常匹配,可是在被调用却始终匹配不上,于是就执行了默认的default语句。并且被调用方也正常的接收到了invoType的值;
调用方传参:
被调用方获取参数;
正常来说不应该出现这样的问题,既然被调用方能获取到数据,那就说明数据传输没有问题,那到底是哪里出问题了呢?
经过反复排查,打印最终找到问题的原因,打印输出的结果如下:
输出的结果中,传递的字符串两边多了两个双引号因此导致出现问题,不能正确匹配。由于输出的字符串,最开始看到的时候也没在意,忽略了一点
直接输出字符串时,变量的值两边是没有双引号的。
那我这个调用方法中,双引号的字符串是哪来的呢?是我在传递字符串的数据时使用JSON处理过。方法中调用的fastJson中的toJSONString()方法,
这样在处理字符串的时候,就多了一对双引号,最终导致后去到的参数不正确不能正常调用。
三、解决方案
找到真正的问题后,解决办法就非常好办,对于单个字符串参数,直接传递就行不需要将其转换为JSON数据进行传递。
来源:https://www.cnblogs.com/yilangcode/p/13738288.html


猜你喜欢
- 为什么使用Kotlin项目一期在收尾了终于有时间折腾了,一个多月以来Kotlin从入门到现在,坚持用来开发的切身感受。因为语法与Java的区
- java中实现list或set转map的方法在开发中我们有时需要将list或set转换为map(比如对象属性中的唯一键作为map的key,对
- java 抽象类的实例详解前言:什么是抽象类?这名字听着就挺抽象的,第一次听到这个名字还真有可能被唬住。但是,就像老人家所说的,一切反动派都
- 序言:此前,我们主要通过XML来书写SQL和填补对象映射关系。在SpringBoot中我们可以通过注解来快速编写SQL并实现数据访问。(仅需
- 在Java 5以前,是用synchronized关键字来实现锁的功能。synchronized关键字可以作为方法的修饰符(同步方法),也可作
- Mutex 中文为互斥,Mutex 类叫做互斥锁。它还可用于进程间同步的同步基元。Mutex 跟 lock 相似,但是 Mutex 支持多个
- 本文实例讲述了Android实现的仿淘宝购物车。分享给大家供大家参考,具体如下:夏的热情渐渐退去,秋如期而至,丰收的季节,小编继续着实习之路
- 一、概述解决ANR一直是Android 开发者需要掌握的重要技巧,一般从三个方面着手。开发阶段:通过工具检查各个方法的耗时,卡顿情况,发现一
- 本文实例为大家分享了android自定义圆形倒计时显示控件的具体代码,供大家参考,具体内容如下先上效果图 - 倒计时结束代码块at
- Spring @Cacheable指定失效时间新版本配置@Configuration@EnableCachingpublic class R
- Android Studio安装后发现所有的中文,不管是界面上的还是输出的log中的中文都变成小框框 可以肯定是字体的问题 解决
- 一、图示我们先来看看今天要介绍哪些内存溢出案例,这里总结了一张图,如下所示。二、定义主类结构首先,我们创建一个名称为BlowUpJVM的类,
- 详解 Java Maximum redirects (100) exceeded这些是可以用于定制默认HttpClient实现行为的参数:&
- 1、说明向上转型就是把一个子类引用给一个父类引用,也就是父类引用 引用了子类的对象,即父类 父类对象 = 子类实例。此时通过父类引用变量调用
- 本文为大家分享了Spring Boot全局异常处理,供大家参考,具体内容如下1、后台处理异常a、引入thymeleaf依赖<!-- t
- 按官方修改的示例:#MidServerClient.javaimport feign.Param;import org.springfram
- 本文实例为大家分享了C语言实现两个矩阵相乘的具体代码,供大家参考,具体内容如下程序功能:实现两个矩阵相乘的C语言程序,并将其输出代码如下:#
- 背景java程序员一般写的是后端服务是JavaWeb类型的项目,主要包括Http接口和dubbo接口,Http接口一般采用的rest风格,那
- java web返回中文乱码ajax返回中文乱码问题 在浏览器按F12查看数据包可以看到charset为 iso-8859-1,这是spri
- 一家移动互联网公司,说到底,要盈利总是需要付费用户的,自己开发支付系统对于资源有限的公司来说显然不太明智,国内已经有多家成熟的移动支付提供商