gpt4 book ai didi

json - Jackson 将子类序列化为父类中的字段

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

我正在尝试获得以下效果。

class Foo{
public Bar bar;
public int f1 = 1;
}

public class Bar{
public int b1;
public int b2;
}

如果你将它序列化为 JSON 你会得到

{ "bar" : {
"b1" : 1,
"b2" : 2,
},
"f1" : 0
}

但我喜欢 Jackson 的注释,把它写成

{  
"b1" : 1,
"b2" : 2,
"f1" : 0
}

基本上您不会将字段序列化为单独的类,而是将字段拉到树中的父对象。

我知道这可以通过自定义序列化程序来完成,但我很好奇是否有一个简单的注释样式。 (对于单个字段,我可以使用 @JsonValue 进行注释)

最佳答案

你可以使用@JsonUnwrapped

class Foo{
@JsonUnwrapped
public Bar bar;
public int f1 = 1;
}

如果您无法编辑您的类(class),请使用 Mixin或自定义序列化程序。

如果需要,请使用@JsonCreator deserialization

关于json - Jackson 将子类序列化为父类中的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46955173/

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