Я получаю дважды корневой элемент в JSON.Корневой элемент в JSON приближается дважды
Вот моя модель:
@JsonRootName(value="volumes")
@XmlRootElement(name = "volumes")
public class VolumeDetails {
@XmlElement(name = "volume")
private List<VolumeDetail> volume;
public List<VolumeDetail> getVolumes() {
if (volume == null) {
volume = new ArrayList<VolumeDetail>();
}
return volume;
}
}
Я использую Джексон объект картограф, как:
ObjectMapper om = new ObjectMapper().enable(SerializationConfig.Feature.WRAP_ROOT_VALUE);
try {
String jsonResponse = om.writeValueAsString(volumeDetails);
return Response.ok().entity(jsonResponse).build();
}
O/P:
{
"volumes":{
"volumes":[
{
"status":"available",
"id":"vol-1"
},
{
"status":"unavailable",
"id":"vol-2"
}
]
}
}
Ожидаемое O/P:
{
"volumes":[
{
"status":"available",
"id":"vol-1"
},
{
"status":"unavailable",
"id":"vol-2"
}
]
}
Тома тома подходит два раза, что я не хочу, есть ли способ его подавить. если удалить @JsonRootName аннотаций и сериализации функции я получаю «объем» вместо «томов», который является @xmlElement (имя = «объем»), и мой выход выглядит следующим образом:
{
"volume":[
{
"status":"available",
"id":"vol-1"
},
{
"status":"unavailable",
"id":"vol-2"
}
]
}
Если я удалю @JsonRootName функции аннотации и сериализации, я получаю «объем» вместо «томов». Я добавил O/P выше. –
@chandansingh Я обновляю ответ, взгляните. Позвольте мне теперь, если не работает. Если генерировать 'volume', посмотрите в' VolumeDetails', может быть, вы получите 'getVolume' вместо' getVolumes'. –
Спасибо большое. !! Теперь его работа .. :) –