Java实体类(驼峰)映射到json数据(下划线)

  • 由于经常需要接收前端的json数据,而json数据一般都是使用下划线命名的。后端又不太建议使用map接收,所以就需要用到使用自定义类来接收(如果参数过少,可以考虑使用内部类,将所有参数类写到一个大类中)

  • 使用@JsonProperty@JsonAlias

    • @JsonProperty 直接定义成别名
    • @JsonAlias添加别名的意思
  • 例如:

    @Data
    public class MyRequestParam { @Data
    public static class TestParam { // @JsonAlias("test_flag")
    @JsonProperty("test_flag")
    private boolean testFlag; }
    }

使用@RequestBody MyRequestParam.TestParam flag来接收json参数时候,只能接收到test_flag的值(使用true测试,因为boolean值没有=false),使用testFlag作为json字段的键是接收不到的。

而注解@JsonAlias("test_flag")testFlagtest_flag做键都可以接收到。


返回json数据时候,也即使用对象或者result类中的object类型返回对象数据时候:

  • @JsonProperty也会起作用
  • @JsonAlias只会在接收时候起到起小名的作用。

注:使用@JsonProperty时候,如果使用fastjson工具类进行处理,比如:

JSON.toJSONString(obj);
JSONObject.toJSONString(obj);

出来的结果依旧是testFlag

当然fastjson对于这种情况也给出了一个注解,那就是@JSONField(name = "test_flag"),在属性上面添加注解,在使用json工具时候也可以对应转成想要的字段名了。


总结:

  • @JsonProperty 在接收前端和返回给前端字段时候起作用且只能使用定义的别名
  • @JsonAlias 只在接收前端数据数据时候起作用且本身名字和定义的别名都可以使用。
  • @JSONField(name = "name") 当需要使用json工具类进行转json字符串时候起作用。

Java实体类如何映射到json数据(驼峰映射到json中的下划线)的更多相关文章

  1. 利用在线工具根据JSon数据自动生成对应的Java实体类

    如果你希望根据JSon数据自动生成对应的Java实体类,并且希望能进行变量的重命名,那么“JSON To Java”一定适合你.(下面的地址需要FQ) https://jsontojava.appsp ...

  2. xml文档的解析并通过工具类实现java实体类的映射:XML工具-XmlUtil

    若有疑问,可以联系我本人微信:Y1141100952 声明:本文章为原稿,转载必须说明 本文章地址,否则一旦发现,必追究法律责任 1:本文章显示通过 XML工具-XmlUtil工具实现解析soap报文 ...

  3. 在线数据库表(sql语句)生成java实体类工具

    相信每个做java开发的读者,都接触过SQL建表语句,尤其是在项目开发初期,因为数据库是项目的基石. 在现代项目开发中,出现了许多ORM框架,通过简单的实体映射,即可实现与数据库的交互,然而我们最初设 ...

  4. 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_2-6.Mysql逆向工程效率神器之使用IDE自动生成Java实体类

    笔记 6.Mysql逆向工程效率神器之使用IDE自动生成Java实体类     简介:实战使用IDE根据Mysql自动生成java pojo实体类                  1.IDEA连接数 ...

  5. 利用JAXB实现java实体类和xml互相转换

    1.应用场景 在使用WebService实现数据上传下载,数据查询时,可以利用JAXB实现java实体类和xml互相转换 2.Demo 2.1 student.java 实体类,包含list(set同 ...

  6. Mysql逆向工程效率神器之使用IDE自动生成Java实体类

    Mysql逆向工程效率神器之使用IDE自动生成Java实体类 简介:实战使用IDE根据Mysql自动生成java pojo实体类 1.IDEA连接数据库 菜单View→Tool Windows→Dat ...

  7. 解析java实体类

    对java实体类的众多理解: A .就是属性类,通常定义在model层里面 B. 一般的实体类对应一个数据表,其中的属性对应数据表中的字段. 好处: 1.对对象实体的封装,体现OO思想. 2.属性可以 ...

  8. JDBCUtils,根据当前MySQL数据库下面的表生成java实体类

    自己简单写的JDBCUtils,可以根据当前数据库下面的表生成java实体类,代码萌新,请多多包涵. 初始化配置: //驱动程序名//不固定,根据驱动 static String driver = & ...

  9. 我写了一个java实体类,implements了Serializable接口,然后我如何让serialversionUID自动生成

    写了一个java实体类,implements了Serializable接口,让serialversionUID自动生成方法: 1.点击类旁边的警告符号: 2.选择Add generated seria ...

  10. MyEclipse 利用反向功能生成Java 实体类

    1.Window -> Open Perspective -> MyEclipse Database Explorer 到DB Broswer界面 2.右键 -> New,新建一个数 ...

随机推荐

  1. Java虚拟机调优-基本垃圾回收算法

    背景: 可以从不同的的角度去划分垃圾回收算法: 按照基本回收策略分 引用计数(Reference Counting): 比较古老的回收算法.原理是此对象有一个引用,即增加一个计数,删除一个引用则减少一 ...

  2. dubbo源码解析目录-总结列表

    一.dubbo架构设计 1.十层架构第一层:service层,接口层,给服务提供者和消费者来实现的.第二层:config层,配置层,主要是对dubbo进行各种配置的.第三层:proxy层,服务代理层, ...

  3. Jetpack架构组件学习(6)——使用Glance实现桌面小组件

    原文地址: Jetpack架构组件学习(6)--使用Glance实现桌面小组件-Stars-One的杂货小窝 公司陆续整了几个Compose写的app,有个小组件的功能,顺便试了下Jetpack库里的 ...

  4. Transaction rolled back because it has been marked as rollback-only问题解决

    1.背景 在我们的日常开发中,经常会存在在一个Service层中调用另外一个Service层的方法.比如:我们有一个TaskService,里面有一个execTask方法,且这个方法存在事务,这个方法 ...

  5. JMeter的CLI模式(非GUI模式)常用命令

    JMeter的CLI模式(非GUI模式)常用命令 Apache JMeter是一款强大的开源性能测试工具,它支持图形用户界面(GUI)模式和非图形用户界面(CLI,即Command Line Inte ...

  6. 1. Docker 的简介概述

    1. Docker 的简介概述 @ 目录 1. Docker 的简介概述 2. Docker 的理念: 3. 容器与虚拟机比较 4. Docker应用场景 5. 最后: 为什么会有 Docker 出现 ...

  7. FLink同步mysql到Iceberg丢数问题排查解决

    一.问题背景 数据对比程序发现通过Flink cdc同步mysql写入Iceberg表运行一段时间后存在丢数问题,排查到丢数是由于hivemetastore钩子函数缺陷引起,由腾讯云EMR修复 钩子函 ...

  8. 项目中途引入Mybatis-plus后报错,报错Caused by: java.lang.ClassNotFoundException: org.mybatis.logging.LoggerFactory

    一.报错原因 mybatis-plus和pagehelper jar包冲突,注释mybatis-spring和pagehelper插件即可 <!-- SpringBoot集成mybatis框架 ...

  9. OpenCascade 开源的三维建模几何造型开发平台

    官方文档 https://dev.opencascade.org/doc/overview/html/index.html Open CASCADE(简称OCC)平台是由法国Matra Datavis ...

  10. 多项式算法初探:从 FFT 到 NTT

    注:由于发现 FWT 解决的问题和 FFT,NTT 差别有点大,加之 FMT 的存在,本文就只解决 FFT 和 NTT,剩下两个放在别的算法总结里讲. 多项式一向是算法竞赛中相当博大精深的东西,作为一 ...