Java【问题 06】一次解决JSON.toJSONString和@RestController首字母大小写问题(特指属性首字母大写变小写)

简介: Java【问题 06】一次解决JSON.toJSONString和@RestController首字母大小写问题(特指属性首字母大写变小写)

1.问题说明及解决

一次协议对接,接口文档里的属性没有使用驼峰或者下划线,而是全部首字母大写,类似TableName、ObjectID,使用lombok创建的实体类。

1.1 @RestController

接口返回对象的首字母变成小写类似tableName、objectId,问题解决:

@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@NoArgsConstructor
@AllArgsConstructor
public class TestObject {
    @JsonProperty("TableName")
    private String TableName;
    @JsonProperty("ObjectID")
    private String ObjectID;
}

1.2 JSON.toJSONString()

不管是自带JSON,还是阿里的fastjson,都会将属性的字段首字母改为小写需要在大写的字段上用@JSONField这个注解:

@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@NoArgsConstructor
@AllArgsConstructor
public class TestObject {
    @JsonProperty("TableName")
    @JSONField(name = "TableName")
    private String TableName;
    @JsonProperty("ObjectID")
    @JSONField(name = "ObjectID")
    private String ObjectID;
}

2.总结

  • 问题一涉及的类为import com.fasterxml.jackson.annotation.JsonProperty;
  • 问题二涉及的类为import com.alibaba.fastjson.annotation.JSONField;
目录
相关文章
|
1月前
|
JSON 前端开发 JavaScript
|
2月前
|
监控 IDE Java
Java项目调试实战:如何高效调试Spring Boot项目中的GET请求,并通过equalsIgnoreCase()解决大小写不一致问题
Java项目调试实战:如何高效调试Spring Boot项目中的GET请求,并通过equalsIgnoreCase()解决大小写不一致问题
45 0
|
20天前
|
XML JSON JavaScript
Java中XML和JSON的比较与应用指南
本文对比了Java中XML和JSON的使用,XML以自我描述性和可扩展性著称,适合结构复杂、需验证的场景,但语法冗长。JSON结构简洁,适用于轻量级数据交换,但不支持命名空间。在Java中,处理XML可使用DOM、SAX解析器或XPath,而JSON可借助GSON、Jackson库。根据需求选择合适格式,注意安全、性能和可读性。
27 0
|
25天前
|
XML JSON JavaScript
使用JSON和XML:数据交换格式在Java Web开发中的应用
【4月更文挑战第3天】本文比较了JSON和XML在Java Web开发中的应用。JSON是一种轻量级、易读的数据交换格式,适合快速解析和节省空间,常用于API和Web服务。XML则提供更强的灵活性和数据描述能力,适合复杂数据结构。Java有Jackson和Gson等库处理JSON,JAXB和DOM/SAX处理XML。选择格式需根据应用场景和需求。
|
1月前
|
JSON Java fastjson
JSON与Java的两种解析方式
JSON与Java的两种解析方式
|
1月前
|
JSON fastjson Java
java fastJson 转JSON 两个转义
【2月更文挑战第14天】
|
1月前
|
Java API
java查询属性个数
【2月更文挑战第11天】
|
2月前
|
存储 Java
深入剖析 Java 类属性与类方法的应用
Java 类属性,也称为字段,是类中的变量。它们用于存储与类相关的数据。 创建类属性 在类定义中声明属性
62 0
|
2月前
|
存储 Java
深入解析 Java 面向对象编程与类属性应用
面向对象编程 (OOP) 是一种编程范式,它将程序组织成对象。对象包含数据和操作数据的方法。 OOP 的优势: 更快、更易于执行 提供清晰的结构 代码更易于维护、修改和调试 提高代码重用性 减少开发时间
65 0
|
3月前
|
JSON fastjson 数据库
字符编码导致Rapidjson(腾讯开源的json解析库)到Fastjson(阿里开发的Java json解析库)转换失败的原因分析
最近在客户端的开发的过程中,使用到了RapidJson,公司的开发是客户端和数据库端都由不同的人进行开发,我负责的客户端的逻辑开发(使用c++),开发工具同时使用了VS2017和QT的编译环境,使用QT主要是为了客户端界面开发方便,而使用了VS环境主要是维护公司开发的数据库接口库,这个库的唯一作用就是作为一个中间桥梁,使用Rapidjson将数据库接口的json数据格式解析为结构体数据,从而在客户端界面进行展示,或者接收客户端的数据,使用Rapidjson将其转换为json数据,发送给数据库接口以保存数据使用 。不太明白的可以参考我上一篇文章说明Rapidjson的使用过程-Parse解析数组
53 0