在我正在使用restEASY的项目中,我正在从数据库中提取人员。所请求的功能之一是允许用户通过查询参数在URL中指定他们想要的字段。因此,在编组到xml或json时,我想要返回的字段数在运行时才会知道。有没有办法让jax-b和jackson在运行时忽略一个字段?
我的另一个想法是维护一个Field类型的集合,它本质上是一个键值对,但我想控制根元素名称。
我在输出中寻找的内容类似于
<person>
<FirstName>Bob</FirstName>
<LastName>Smith</LastName>
<id>12345</id>
</person>
最多可能有50个这样的字段,我不想显示一堆空字段。我只想显示用户请求的内容。通过我的字段集合(基本上是一个标记的键值对)我可以做到这一点。
<person>
<field>
<name>FirstName</name>
<value>Bob</value>
</field>
<field>
<name>LastName</name>
<value>Smith</value
</field>
<field>
<name>id</name>
<value>1234</value>
</field>
</field>
总而言之,我希望能够在运行时根据条件忽略具有xml标记的字段,或者我希望能够以编程方式设置XMLRootElement名称。
有什么想法吗?
答案 0 :(得分:0)
您可以null
输出不需要的所有字段,并确保您的xml序列化不包含空值(我认为这是默认值)。