1

我有一个类,叫做它ClassOne,它有一些带有 getter/setter 的字段,其中一个是另一个类的对象ClassTwo。我正在尝试使用 FlexJSON 序列化ClassOne对象,如下所示:

public class ClassOne{
    private String name;
    private Long id;
    private ClassTwo classTwo;
    //Getters+Setters omitted for brevity
}

public class ClassTwo{
    private String description;
    //Getter+Setter again omitted
}

//Elsewhere
List<ClassOne> list = /*get a list of ClassOne objects*/;
String json = new JSONSerializer().include("name", "id", "classTwo.description").exclude("*").serialize(list);

我的问题是,结果的 JSON 看起来像这样:

[{"id":"1","name":"aName","classTwo":{"description":"aDescription"}},{"id":"2","name":"anotherName","classTwo":{"description":"anotherDescription"}}]

classTwo.description部分被放入 JSON 中它自己的单独对象中。但是 ClassTwo 本质上只是一个实现细节;我希望结果像这样变平:

[{"id":"1","name":"aName","description":"aDescription"},{"id":"2","name":"anotherName","description":"anotherDescription"}]

如果“描述”部分读作“classTwo.description”,我也可以,只要它被展平为classOne对象的表示。

有没有办法用 FlexJSON 做到这一点?Transformer 的东西看起来应该可以,但我对图书馆太陌生了,无法确定,或者弄清楚如何。

4

0 回答 0