如何在Spring中从xml转换为json时更改内容?

时间:2016-07-09 10:10:56

标签: java json xml spring converter

我将对象读作xml并在spring中生成json一切都很好。但是我想改变其中一个变量。假设我读了Object Person

@XmlRootElement (name="Person")
@XmlAccessorType(XmlAccessType.FIELD)

public class Person{
//a lot variable same when reading and response
private String nameSurname;

在上面的示例中,我读了xml <nameSurname>JohnNash<nameSurname>,但我想返回{"name":"John","surname":Nash}

那么最好的方法是什么?

我应该使用2个不同的对象并编写映射器函数吗? (xmlPerson,jsonPerson)

我是否应该更改getter函数来更改内容,以便它能够生成我想要的json?

我应该只使用1个对象并编写自定义json转换器函数吗?

1 个答案:

答案 0 :(得分:1)

理想情况下,XML和JSON应该是相似的,因为一般的想法是围绕以下概念使用RESTful服务:无论您是以XML还是JSON格式提供它,它都会以相同的方式处理它 - 因此需要像转换器那样Gson,Jackson等。

但是,由于某些特定原因,如果要将一个XML元素映射到两个JSON属性,最好的方法是使用单个对象并为其编写json转换器。这使您可以灵活地将映射代码放在一个位置,如果需要,可以在以后轻松更改。