gpt4 book ai didi

java - JSON 序列化中 Jackson 案例的变化

转载 作者:行者123 更新时间:2023-12-02 04:05:42 26 4
gpt4 key购买 nike

在某些情况下,Jackson 在序列化过程中以我意想不到的方式更改 POJO 中的字段大小写。我使用以下 block 来进行序列化:

ObjectMapper mapper = new ObjectMapper()
String json = mapper.writeValueAsString(o)

我注意到所有以“v”开头的字段的下一个大写字母也都是小写的。例如,对于 POJO 字段如下:

vStatus1 = "3424522"

序列化后我看到以下 JSON 字段:

vstatus1="3424522"

这对我来说非常重要,因为我使用一个开关在两个不同的 Web 服务之间切换,这两个服务应该提供相同的输出映射,但这个问题阻碍了我干净利落地完成它。

最佳答案

如果您使用 Jackson,您可以在字段的 getter 上设置 @JsonProperty 并将其更改为您喜欢的任何内容...

@JsonProperty("vStatus1")
public String getvStatus1() {
return vStatus1;
}
// Produces: {"vStatus1":"3424522"}

@JsonProperty("VStatus1")
public String getvStatus1() {
return vStatus1;
}
// Produces: {"VStatus1":"3424522"}

I'm using a switch to go between two different web services which should provide the same output map

除了上述内容之外,也许可以考虑切换字符串的小写版本...

switch(myString.toLowerCase()) {
case "foo": doSomething();
...
}

关于java - JSON 序列化中 Jackson 案例的变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34299051/

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