从JSON moxy输出中重命名“type”
我正在努力处理Moxy如何处理对象的继承。
特别是,我需要重命名Moxy在子类型中添加的默认type
元素,因为它会阻止我在对象中创建自己的type
字段。
这个问题涉及从JSON输出球衣moxy删除“类型”,但不幸的是,它不回答我的问题。
我曾试图在我的抽象类中包含@XmlDiscriminatorNode
,这在所得到的json中似乎没有任何区别。
我也尝试完全删除默认的moxy type
元素,但没有任何成功。
MOXy 2.6中处理类型属性的操作发生了变化。 从MOXY 2.6开始,类型属性在默认情况下以xsi前缀(或您定义的任何前缀)作为前缀。 这意味着从版本2.6开始,MOXy应该没有类型属性冲突。
详细信息可以在https://wiki.eclipse.org/EclipseLink/DesignDocs/459464找到
名称空间前缀需要指定为JAXBContext属性:
unmarshaller.setProperty(JAXBContextProperties.MEDIA_TYPE,MediaType.APPLICATION_JSON); Map namespaces = new HashMap <>(); namespaces.put(javax.xml.XMLConstants.W3C_XML_SCHEMA_INSTANCE_NS_URI,“xsi”); unmarshaller.setProperty(JAXBContextProperties.NAMESPACE_PREFIX_MAPPER,namespaces);
链接地址: http://www.djcxy.com/p/25533.html