根据Jsonix的wiki页面,它对xsi:type的支持
编组时,Jsonix检查该值是否具有与属性或元素声明中声明的类型相同的类型。
我想知道是否有一种方法显式地让Jsonix生成该属性?通过指定TYPE_NAME属性,我能够在另一个项目中做到这一点,即
element: {
TYPE_NAME: 'mapping.Element',
xAttr1: '1',
xAttr2: '2',
content: 'some content',
},现在,我再次进行了一些XML导出,但是同样的方法不再起作用,也就是说,我得到了正确的xsi:type,但是缺少了这个xml。这里是一个工作小提琴,使用的是我映射的简化版本,它展示了如何用类型来解组一个项,然后在没有一个类型的情况下对其进行封送。
发布于 2019-10-22 07:08:58
在您的示例中,已解组的Title的类型为Mappings.SomeType,它与映射匹配。因此,Jsonix不需要输出xsi:type,因为有匹配。
如果我正确地理解了您,您希望Jsonix始终输出xsi:type。不知道为什么需要这个,但这不支持OOTB。
您可能需要修补Jsonix才能得到这个。这里是Jsonix决定是否添加xsi:type的地方:
由于我不认为需要强制xsi:type输出,所以我认为Jsonix中不应该包含这个功能。所以你可能会有你自己的叉子。
https://stackoverflow.com/questions/58482615
复制相似问题