springboot中自定义JavaBean返回的json对象属性名称大写变小写问题

这篇具有很好参考价值的文章主要介绍了springboot中自定义JavaBean返回的json对象属性名称大写变小写问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

springboot中自定义JavaBean返回的json对象属性名称大写变小写问题,spring boot,json,java

springboot中自定义JavaBean返回的json对象属性名称大写变小写问题

开发过程中发现查询返回的数据出现自定义的JavaBean的属性值大小写格式出现问题,导致前端无法接受到数据,目前有四种解决方法,根据大佬的经验之谈,前两种是最简单便捷的,后两种是比较通用的方法。

具体原因如下图:

springboot中自定义JavaBean返回的json对象属性名称大写变小写问题,spring boot,json,java

一、继承类

一般在vo层(可自行理解,阿里巴巴的编程规范)自定义JavaBean来封装数据返回给前端,都是需要用到多表查询,或者有额外的属性增加时需要创建。

例如:人的javaBean最好的方式是继承一个学生的javaBean在添加新的属性,这样再人的JavaBean中没有问题,学生的JavaBean返回的数据也是正常的,不会出现因为@Data注解导致的bug。

二、手动添加Get方法

这有可能是由于Lombok中的@Data注解导致的bug,手动添加get和set方法也可以解决该问题。(尝试了返回的格式是正常的)

三、@JsonProperty

其它博主的解决方案:字段属性加上注解@JsonProperty("aAnimalId")指定序列化后的名称,字段属性的get方法加上注解@JsonIgnore

springboot中自定义JavaBean返回的json对象属性名称大写变小写问题,spring boot,json,java

本人尝试的结果:在字段属性加上注解@JsonProperty("aAnimalId"),接口返回数据的key就恢复正常了,或许是我和@Data混用的原因。但是分析了一下发现结果如下:

springboot中自定义JavaBean返回的json对象属性名称大写变小写问题,spring boot,json,java

结果分析:

把首字母变成大小,从而和springboot返回json对象把字母变成小写相互抵消,从而导致可以返回正常的格式(自我理解,不确定对不对),但问题de到解决。各位可以尝试尝试,能解决开发问题的就是好办法。

四、spring-boot json(jackson)属性命名策略

全局配置命名策略,未尝试,大佬叫我了解了解,会有一定的收获。

spring:
  jackson:
    property-naming-strategy: SNAKE_CASE

记录每一个学习瞬间文章来源地址https://www.toymoban.com/news/detail-730813.html

到了这里,关于springboot中自定义JavaBean返回的json对象属性名称大写变小写问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • SpringBoot中自定义starter

    一、在线创建 首先打开 https://start.spring.io 这个网站,如下: 项目构建工具是 Maven 还是 Gradle ?有人用 Gradle 做 Java 后端项目,但是整体感觉 Gradle 在 Java 后端中使用的还是比较少,Gradle 在 Android 中使用较多,Java 后端,目前来看还是 Maven 为主,因此这里选择第一项。 开发语

    2024年02月10日
    浏览(33)
  • Springboot中自定义拦截器

    Spring Boot 中使用拦截器 参考:https://blog.csdn.net/taojin12/article/details/88342576?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522170823498416800197050192%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257Drequest_id=170823498416800197050192biz_id=0utm_medium=distribute.pc_search_result.none-task-blog-2 all top_positive~defa

    2024年02月19日
    浏览(41)
  • [正式学习java①]——java项目结构,定义类和创建对象,一个标准javabean的书写

    目录 一、创建第一个java文件 二、 初始类和对象 三、符合javabean规范的类 要想写代码,你得有文件啊 以前的创建方式: 右键新建文本文档,开始写代码,写完改后缀名,保存……这样文件一旦多了很难管理 现在我们要规范项目结构 每一个类就是一个java文件,每一个包存放

    2024年02月08日
    浏览(31)
  • java返回前端实体类json数据时如何忽略某个属性

    第一种方法 SpringBoot中忽略实体类中的某个属性不返回给前端的方法:使用Jackson的方式://第一种方式,使用@JsonIgnore注解标注在属性上, 第二种方法 使用@JsonIgnoreProperties标注在类上,可以忽略指定集合的属性 注意 :同时使用@JsonProperty和@JsonIgnore时,可能会导致@JsonIgnore失效

    2024年02月13日
    浏览(30)
  • LLMs之FineTuning:LLaMA-Factory框架中如何在 dataset_info.json 中自定义alpaca 格式/sharegpt 格式数据集及其示例演示

    LLMs之FineTuning:LLaMA-Factory框架中如何在 dataset_info.json 中通过指定  --dataset dataset_name  参数→实现自定义alpaca 格式/sharegpt 格式数据集及各部分字段的对应关系→以便正确读取和利用数据集内容训练模型 目录

    2024年04月23日
    浏览(49)
  • 【Java】Mybatis查询数据库返回JSON格式的字段映射到实体类属性

    今天遇到了一个bug,大概就是数据库(Mysql)中有一个 type 类型字段,数据类型为json,大概是这样的:[“苹果”,“香蕉”,“葡萄”]的数据格式,这个bug的问题所在呢就是查询后这个json格式的数据无法映射到我们实体类的属性上,解决方案如下: 实体类的配置: @TableField

    2024年02月15日
    浏览(34)
  • C# 获取Json对象中指定属性的值

    在C#中获取JSON对象中指定属性的值,可以使用Newtonsoft.JSON库的JObject类 using Newtonsoft.Json.Linq; using System;   public class Program {     public static void Main(string[] args)     {         string json = @\\\"{             \\\'Name\\\': \\\'John\\\',             \\\'age\\\': 30,             \\\'City\\\': \\\'New York\\\'         }\\\";  

    2024年02月10日
    浏览(30)
  • 【微信小程序】使用 JSON.parse 方法将返回的 JSON 字符串解析为对象

    在微信小程序中,你可以使用 JSON.parse 方法将返回的 JSON 字符串解析为对象。以下是实现类似功能的示例代码: 在上述代码中,我们使用 JSON.parse 方法将返回的 JSON 字符串解析为对象。然后,我们可以通过点语法或方括号语法访问解析后的对象的属性,例如 data.result 。 请注

    2024年02月15日
    浏览(35)
  • java 使用stream累加对象中某个属性的值并返回总和

    假设有一个包含对象的List列表,每个对象都有一个属性value,可以使用Java 8中的Stream流来累加对象中某个属性的值并返回总和。以下是一些可能的实现方法: 1、使用reduce方法: 这里使用了mapToInt方法将每个对象转换为其value属性的值,然后使用reduce方法将这些值累加起来。

    2024年02月11日
    浏览(71)
  • SpringBoot (二) --- 返回Json数据

    ​ JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。它是一种在各个编程语言中流通的数据格式,负责不同编程语言中的 数据传递和交互 。 相当于全球通用语— 英语 ,中国56个民族不同地区的通用语言- 普通话 json的基本语法格式如下: json是一种纯字符数据,不属

    2024年02月16日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包