【发布时间】:2017-10-08 20:15:54
【问题描述】:
我使用 JAXB 注释通过 Spring 序列化/反序列化对象。
这是我的响应类:
@XmlRootElement(name = "animals")
public class PetClinic implements Serializable {
@XmlElementWrapper(name = "animals")
@XmlElement(name = "animal")
private Collection<Animal> animals;
public Collection<Animal> getAnimals() {
return animals;
}
public void setAnimalsCollection<Animal> animals) {
this.animals = animals;
}
}
我想得到这样的 JSON
{
"animals": [
{...},
{...}
]
}
我试图解开根元素,但我的所有解决方案都不起作用:
1) 我尝试在字段上使用@JsonUnwrapped 注释
2) 我尝试使用@JsonSerialize
@JsonSerialize(using = PetClinicSerializer.class)
序列化代码:
ObjectMapper mapper = new ObjectMapper();
@Override
public void serialize(PetClinic clinic, JsonGenerator generator, SerializerProvider serializerProvider) throws IOException, JsonProcessingException {
mapper.configure(SerializationFeature.WRAP_ROOT_VALUE, false);
String clinicAsString = mapper.writeValueAsString(clinic);
generator.writeString(clinicAsString);
}
我怎样才能得到上面提到的 JSON?
【问题讨论】:
-
你现在得到了什么?
标签: java json spring serialization jaxb