2016-07-09 28 views
1

我在xml中讀取一個對象,並在春天生成json,一切正常。但是我想更改其中的一個變量。比方說,我讀對象者如何在Spring中從xml轉換爲json時更改內容?

@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

理想情況下,XML和JSON應該類似,因爲總體思路是圍繞無論是以XML還是JSON格式提供的概念使用RESTful服務,它將以相同的方式處理它 - 因此需要轉換器像Gson,Jackson等

但是,由於某些特定原因,如果要將一個XML元素映射到兩個JSON屬性,最好的方法是處理它將是使用單個對象並編寫一個json轉換器。這使您可以靈活地將映射代碼放在一個地方,如果需要的話可以在以後輕鬆更改。

+0

我實際上從另一個服務讀取xml,所以這就是爲什麼我想更改變量名稱和映射到不同的對象。謝謝您的回答。 – Richard