我正在使用JAXB注释将POJO转换为json或XML,按照接受类型。 所需的输出结构:将相同的POJO转换为JSON和XML,但忽略JSON的一些属性
XML:
<ArrayOfStockAvailability>
<StockAvailability>
<ProductId>ProductId1</ProductId>
<LocationId>LocationId1</LocationId>
<UnitOfMeasure>Each</UnitOfMeasure>
<Quantity>1</Quantity>
<StockKeepingUnit>DEFAULT</StockKeepingUnit>
<AvailabilityStatus>OUT_OF_STOCK</AvailabilityStatus>
</StockAvailability>
<StockAvailability>
<ProductId>ProductId1</ProductId>
<LocationId>LocationId2</LocationId>
<UnitOfMeasure>Each</UnitOfMeasure>
<Quantity>0</Quantity>
<StockKeepingUnit>DEFAULT</StockKeepingUnit>
<AvailabilityStatus>IN_STOCK</AvailabilityStatus>
</StockAvailability>
</ArrayOfStockAvailability>
JSON :
[
{
"ProductId":"103-8173",
"LocationId":"GMO",
"UnitOfMeasure":"Each",
"Quantity":1.0,
"StockKeepingUnit":"DEFAULT",
"AvailabilityStatus":"IN_STOCK"
},
{
"ProductId":"322-5810",
"LocationId":"GMO",
"UnitOfMeasure":"Each",
"Quantity":1.0,
"StockKeepingUnit":"DEFAULT",
"AvailabilityStatus":"IN_STOCK"
},
]
POJO :
@XmlRootElement(name = "ArrayOfStockAvailabiltiy")
public class ArrayOfAvailabilityStatus extends BasePojo {
private List<AvailabilityStatus> stockAvailability;
@XmlElement(name = "StockAvailability")
public List<AvailabilityStatus> getStockAvailability() {
return stockAvailability;
}
}
@XmlRootElement
public class AvailabilityStatus {
private String productId;
private String locationId;
private String unitofmeasure;
private boolean quantity;
private String stockKeepingUnit;
private boolean availabilityStatus;
@XmlElement(name = "ProductId")
public String getProductId() {
}
}
-----------------------------------------------------------------------------
如何忽略ArrayOfStockAvailabiltiy和StockAvailability在创建JSON。 欢迎任何JAXB,Jersey,Jackson相关建议。
Thanks in advance
您使用的是Jersey 1还是Jersey 2? –
你可以使用JacksonMixInAnnotations,看看这个答案:http://stackoverflow.com/a/22906823/2487263 – raspacorp