Я использую последнюю версию Jackson (2.2.3) с приложением CXF.Неисправность получения желаемого выхода json с помощью JacksonJaxbJsonProvider
Вот мой провайдер Джексон:
public class CustomJacksonJsonProvider extends JacksonJaxbJsonProvider {
public CustomJacksonJsonProvider() {
ObjectMapper mapper = new ObjectMapper();
mapper.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
JaxbAnnotationModule jaxbModule = new JaxbAnnotationModule();
mapper.registerModule(jaxbModule);
this._mapperConfig.setMapper(mapper);
}
}
У меня есть следующий аннотированный класс.
@XmlType(name = "configInfo")
@XmlRootElement(name = "configInfo")
public class ConfigInfo {
@XmlElement(name = "foo")
private String foo;
@XmlElementWrapper(name = "devices")
@XmlElement(name = "device")
private List<Device> devices;
public final List<Device> getDevices() {
if (devices == null)
devices = new ArrayList<Device>();
return devices;
}
}
Я создал экземпляр без значения «foo» и одно устройство в списке устройств. Когда я делаю это, я получаю следующее:
{"device":[{"name":"abc","type":"def"}]}
Как я могу сделать «устройство» как «устройства»?