我有一個簡單的Web服務,它使用並生成一些XML和JSON格式的bean。然後,我有一個包含對象的集合豆:將對象集合序列化爲JSON和XML
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class Company {
@XmlElementWrapper(name = "addresses")
@XmlElement(name = "address")
private Collection<Address> addresses;
...
}
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class Address{
private String street;
private String city;
private String country;
...
}
系列化後,我有這樣的XML:
<company>
<addresses>
<address>
<street>Testowa 1A</street>
<city>Warszawa</city>
<country>Polska</country>
</address>
<address>
<street>Testowa 2A</street>
<city>Warszawa</city>
<country>Polska</country>
</address>
</addresses>
</company>
這是正確的和JSON:
"company" : {
"addresses": {
"address": [ {"street": "Testowa 1A", "city": "Warszawa", "country": "Polska"} ],
"address": [ {"street": "Testowa 2A", "city": "Warszawa", "country": "Polska"} ]
}
}
問題是與JSON。我的Web服務用戶無法接受序列化集合的符號。他們需要類似的東西:
"company" : {
"addresses": [
{"street": "Testowa 1A", "city": "Warszawa", "country": "Polska"},
{"street": "Testowa 2A", "city": "Warszawa", "country": "Polska"}
]
}
如果我刪除@XmlElementWrapper
我會JSON,我需要,但後來我的XML將是不正確的(沒有「地址」標籤):
<company>
<address>
<street>Testowa 1A</street>
<city>Warszawa</city>
<country>Polska</country>
</address>
<address>
<street>Testowa 2A</street>
<city>Warszawa</city>
<country>Polska</country>
</address>
</company>
任何想法如何滿足這兩個要求?
對不起復制/粘貼例外檢查現在 –
顯示美國'Address'。你使用哪些JAXB註釋? –