gpt4 book ai didi

java - 某些字段的 jackson JSON 自定义序列化

转载 作者:IT老高 更新时间:2023-10-28 11:43:30 37 4
gpt4 key购买 nike

有没有办法使用 Jackson JSON 处理器进行自定义字段级序列化?例如,我想上课

public class Person {
public String name;
public int age;
public int favoriteNumber;
}

序列化为以下 JSON:

{ "name": "Joe", "age": 25, "favoriteNumber": "123" }

请注意,age=25 被编码为 数字,而 favoriteNumber=123 被编码为 字符串。开箱即用的 jackson 将 int 编码为一个数字。在这种情况下,我希望将 favoriteNumber 编码为字符串。

最佳答案

您可以按如下方式实现自定义序列化程序:

public class Person {
public String name;
public int age;
@JsonSerialize(using = IntToStringSerializer.class, as=String.class)
public int favoriteNumber:
}


public class IntToStringSerializer extends JsonSerializer<Integer> {

@Override
public void serialize(Integer tmpInt,
JsonGenerator jsonGenerator,
SerializerProvider serializerProvider)
throws IOException, JsonProcessingException {
jsonGenerator.writeObject(tmpInt.toString());
}
}

Java 应该为您处理从 intInteger 的自动装箱。

关于java - 某些字段的 jackson JSON 自定义序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12046786/

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