我将对象读作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转换器函数吗?
答案 0 :(得分:1)
理想情况下,XML和JSON应该是相似的,因为一般的想法是围绕以下概念使用RESTful服务:无论您是以XML还是JSON格式提供它,它都会以相同的方式处理它 - 因此需要像转换器那样Gson,Jackson等。
但是,由于某些特定原因,如果要将一个XML元素映射到两个JSON属性,最好的方法是使用单个对象并为其编写json转换器。这使您可以灵活地将映射代码放在一个位置,如果需要,可以在以后轻松更改。