首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >强制jsonix输出xsi:type属性

强制jsonix输出xsi:type属性
EN

Stack Overflow用户
提问于 2019-10-21 08:38:27
回答 1查看 64关注 0票数 0

根据Jsonix的wiki页面,它对xsi:type的支持

编组时,Jsonix检查该值是否具有与属性或元素声明中声明的类型相同的类型。

我想知道是否有一种方法显式地让Jsonix生成该属性?通过指定TYPE_NAME属性,我能够在另一个项目中做到这一点,即

代码语言:javascript
复制
  element: {
    TYPE_NAME: 'mapping.Element',
    xAttr1: '1',
    xAttr2: '2',
    content: 'some content',
  },

现在,我再次进行了一些XML导出,但是同样的方法不再起作用,也就是说,我得到了正确的xsi:type,但是缺少了这个xml。这里是一个工作小提琴,使用的是我映射的简化版本,它展示了如何用类型来解组一个项,然后在没有一个类型的情况下对其进行封送。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-22 07:08:58

在您的示例中,已解组的Title的类型为Mappings.SomeType,它与映射匹配。因此,Jsonix不需要输出xsi:type,因为有匹配。

如果我正确地理解了您,您希望Jsonix始终输出xsi:type。不知道为什么需要这个,但这不支持OOTB。

您可能需要修补Jsonix才能得到这个。这里是Jsonix决定是否添加xsi:type的地方:

https://github.com/highsource/jsonix/blob/22b8800aa5acb645d614d01b858d0c8a25a3075f/scripts/src/main/javascript/org/hisrc/jsonix/Jsonix/Binding/Marshalls.js#L20

由于我不认为需要强制xsi:type输出,所以我认为Jsonix中不应该包含这个功能。所以你可能会有你自己的叉子。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58482615

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档