我要消费从一个REST应用程序暴露的一些XML,并希望将其作为JSON暴露在自己的REST服务中。
目前,我有以下POJO:
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
"salesMarket"
})
@XmlRootElement(name = "salesMarkets")
public class SalesMarkets {
protected List<SalesMarket> salesMarket;
public List<SalesMarket> getSalesMarket() {
if (salesMarket == null) {
salesMarket = new ArrayList<SalesMarket>();
}
return this.salesMarket;
}
}
以下是产生的JSON结果:
"salesMarkets": {
"salesMarket": [
{
"brands": {
"brand": [
"DAN"
]
},
"code": "999"
},
{
"brands": {
"brand": [
"DAN"
]
},
"code": "208"
}
]
}
我的问题是(使用Jackson注解),有没有一种方法可以避免类名被序列化为JSON?因此,我希望得到以下结果:
"salesMarket": [{
"brands": {
"brand": [
"DAN"
]
},
"code": "999"
}, {
"brands": {
"brand": [
"DAN"
]
},
"code": "208"
}]
我在想在SalesMarkets类上使用一些Jackson注解...但是还没有成功 :-(
更新:
刚才意识到SalesMarket类是从另一个类中引用的,这就是为什么JSON中出现了“salesMarkets”。有没有一种方法可以注释SalesMarkets字段,使其被忽略但不忽略其中包含的字段?
@XmlRootElement(name = "product")
public class Product {
@XmlElement(required = true)
protected String propertyID;
@XmlElement(required = true)
protected String season;
**protected SalesMarkets salesMarkets;**
protected Information information;
protected Features features;
protected Location location;
protected Address address;
protected Buildings buildings;
protected Pictures pictures;
protected Media media;
protected Prices prices;
protected Offers offers;
protected Availabilities availabilities;
protected Services services;
protected Concepts concepts;
...
{ "propertyID": "D7612", "season": "2016", "salesMarkets": { "salesMarket": [ { "brands": { "brand": [ "DAN" ] }, "code": "999" }, { "brands": { "brand": [ "DAN" ] }, "code": "208" } ] } },........
- Lars Rosenqvist"salesMarkets":
,据我了解,这些来自Product.class中的引用。 - Lars Rosenqvist