1 回答

TA貢獻(xiàn)1809條經(jīng)驗(yàn) 獲得超8個(gè)贊
你可以使用 mixin ?;旧?,您在另一個(gè)類上定義注釋,然后將真實(shí)類與 objectMapper 中的 mixin 相關(guān)聯(lián)
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 已棄用,現(xiàn)在只是 addMixIn。
添加回答
舉報(bào)