gpt4 book ai didi

java - 库类的 JSON 蛇形案例

转载 作者:太空宇宙 更新时间:2023-11-04 09:26:53 26 4
gpt4 key购买 nike

我有一个类正在扩展一些库类。如何将类属性扩展为驼峰式大小写。

@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。

关于java - 库类的 JSON 蛇形案例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57574547/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com