Java 如何在Jackson 2.7+;上为ObjectMapper设置命名策略;?
这段代码过去用于Jackson 2.6.x,但不适用于2.7+Java 如何在Jackson 2.7+;上为ObjectMapper设置命名策略;?,java,jackson,Java,Jackson,这段代码过去用于Jackson 2.6.x,但不适用于2.7+ // Lombok for code simplicity @Setter @Getter @AllArgsConstructor public static class Naming { int camelCase; } ... Naming naming = new Naming(1); ObjectMapper mapper = new ObjectMapper(); mapper.setPropertyNaming
// Lombok for code simplicity
@Setter
@Getter
@AllArgsConstructor
public static class Naming {
int camelCase;
}
...
Naming naming = new Naming(1);
ObjectMapper mapper = new ObjectMapper();
mapper.setPropertyNamingStrategy(
PropertyNamingStrategy.CAMEL_CASE_TO_LOWER_CASE_WITH_UNDERSCORES);
System.out.println(mapper.writeValueAsString(naming));
// "{\"camel_case\":1}" Jackson 2.6.x
// "{\"camelCase\":1}" Jackson 2.7.x
我错过了什么?结果是Lombok注释
@AllArgsConstructor
导致了问题
GitHub上有报道。这似乎是杰克逊的一个错误。在版本2.7.0和2.7.1中可以复制