有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Jackson:使用嵌套对象对对象进行JSON序列化,将子字段合并到所属类中

假设我有如下Java类:

public class A {
    public String name;
    public B b;
}

public class B {
    public int foo;
    public String bar;
}

我想将A的一个实例序列化为JSON。我将使用Jackson中的ObjectMapper类:

A a = new A(...);
String json = new ObjectMapper().writeValueAsString(a);

使用此代码,我的JSON如下所示:

{
    "name": "MyExample",
    "b": {
        "foo": 1,
        "bar": "something"
    }
}

相反,我希望注释我的Java类,以便生成的JSON看起来像这样:

{
    "name", "MyExample",
    "foo": 1,
    "bar": "something"
}

有什么想法吗


共 (1) 个答案

  1. # 1 楼答案

    我个人认为,最好将结构映射到另一个结构,而不要进行额外的转换

    但如果你真的想按计划去做,就用Jackson 2吧。x、 并在属性b上添加@JsonUnwrapped注释。这应该能奏效