Tengo la siguiente clase javaEncuadernación una clase Java genérica a un JSON utilizando JAXB
@XmlRootElement
@XmlSeeAlso(DataClass.class)
public static class EnvelopeClass<T> {
@XmlElement
public String version;
@XmlElement
public T data;
EnvelopeClass() {
}
EnvelopeClass(String version, T data) {
this.version = version;
this.data = data;
}
}
@XmlRootElement
public static class DataClass {
@XmlElement
public String name;
DataClass() {
}
DataClass(String name) {
this.name = name;
}
}
estoy creando su instancia y cálculo de referencias a JSON
EnvelopeClass<DataClass> dataClassEnvelopeClass = new EnvelopeClass<DataClass>("1.0", new DataClass("myName"));
Tengo siguiente resultado:
{"version":"1.0","data":{"@type":"dataClass","name":"myName"}}
no quiere tener información de tipo de tipo JSON en el "@type": "DATACLASS", en otras palabras, quiero tener siguiente resultado:
{"version":"1.0","data":{"name":"myName"}}
Exactamente este resultado cuando tengo EnvelopeClass no tiene genéricos.
¿Hay alguna manera de hacerlo?
Cuando intento esto con la "vainilla" JAXB en java6, no lo creo obtengo eso, obtengo ' 1.0 myName envelopeClass > ', donde el' xsi: type' es como se supone que los genéricos deben hacerse en JAXB. –
skaffman