繁体   English   中英

声纳在杰克逊 JSON 的 REST 调用中更改对象名称的问题

[英]Problems with sonar changing the names of an object in REST calls by Jackson JSON

我有一个对象,在其字段中,某些名称必须带有 '_',例如local_PC而不是localPC

local_PC的问题是我需要它是local_PC并且当我的应用程序调用时,他们发送该字段并且我无法更改它,但是声纳启动我的错误,因为它必须是localPC

杰克逊有什么办法可以控制它吗?

实现@jsonproperty只允许我更改输出中的名称,而不能更改控制器输入中的名称

@Data
@JsonInclude(JsonInclude.Include.NON_NULL)
@AllArgsConstructor
public class Example{

 private String local_PC;

}

使用@JsonAlias

@JsonAlias 是在 Jackson 2.9 版本中引入的。 @JsonAlias 为在反序列化期间接受的属性定义一个或多个替代名称,即将 JSON 数据设置为 Java 对象。 但是在序列化时,即从 Java 对象获取 JSON 时,只使用实际的逻辑属性名称,而不使用别名。 @JsonAlias

@JsonAlias({"local_PC", "localPC"})
private String local_PC;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM