关于发送请求 json格式字段名 首字母大小写 那点事

本文讲述了在Java中使用RestTemplate发送POST请求时,遇到JSON字段名自动转为小写的问题。作者通过研究和请教,提出了四种解决方案:1) 使用GSON;2) 添加字段和get方法注解;3) 利用Jackson注解;4) 将对象转为Map再转为JSON。最后,作者推荐了第三种方法,因为它相对简便且无需大量修改代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

分享小楊日常遇到的bug
通过RestTemplate发送post请求,请求体是json类型…由于之前传输json完全按照java命名规范来的(首字母小写,驼峰)…所以从来也没深入了解过这个东西…但这次对方系统需要全是大写的字段名,我就发现,json居然把我的首字母转成了小写…于是我…就又学疏才浅了…经过我的不懈百度与请教大佬,终于解决了问题…不多废话…直接上解决方案。

解决方案1:
直接使用GSON,gson直接用你的字段名。
注:因GSON使用反射,性能较低

解决方案2:
通过对字段和get方法添加注解,具体注解我就不写了…因为我感觉此方法不太实用…我有很多类…类里又有很多成员变量…要是用这个方法我的人凉了一半…所以我个人不推荐

解决方案3(jackson):
先总结:只需要给类加一个注解,科普下jackson扫描方案:

  1. 所有被public修饰的字段(成员变量);
  2. 所有被public修饰的getter(即形如“getXxx()”的方法);
  3. 所有被public修饰的setter(即形如“setXxx(value)”的方法)

由于我的成员属性都是私有的,所以Jackson是通过我的get方法设置的字段名,而java的内省机制,导致我字段名首字母小写。

   内省(Introspector)是Java 语言对Bean类属性、事件的一种缺省处理方法。例如类 A 中有属性 name, 那我们可以通过 getName,setName 来得到其
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值