[英]JSON snake case for library class
我有一個正在擴展某些庫類的類。 如何使類屬性擴展到駝峰式案例。
@JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class)
class Test extends Abc {
}
// Library class which I can't modify
class Abc {
private firstName;
}
如何將firstName用作first_name
您可以使用mixin。 基本上,您可以在另一個類上定義注釋,然后將真實類與objectMapper中的mixin關聯
public class JacksonMixin {
@JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.ANY)
@JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class)
abstract class MixinAbc{}
// Library class which I can't modify
class Abc {
private String firstName;
}
@Test
public void testMixin() throws JsonProcessingException {
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.addMixIn(Abc.class, MixinAbc.class);
Abc value = new Abc();
value.firstName="bill";
String writeValueAsString = objectMapper.writeValueAsString(value);
Assert.assertEquals("{\"first_name\":\"bill\"}", writeValueAsString);
}
}
編輯:addMixInAnnotation已過時,現在只是addMixIn。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.