作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当使用 StAXON 将 XML 有效负载转换为 JSON 时,是否可以标记特定节点,以便在转换时它们不遵守 autoPrimitive(true)
属性(property)?
我有一些 XML:
<root>
<foo>1234</foo> <!-- foo should always be String -->
<bar>5678</bar> <!-- bar should always be Integer -->
</root>
我希望将其转换为以下 JSON:
{
"foo": "1234", // Note: this value is a String
"bar": 5678 // autoPrimitive setting has caused a type conversion
}
我知道我可以使用 XML 处理指令 <? xml-multiple myNode ?>
在处理数组时,是否有类似的东西可以用来确保 XML 中的某些节点不会自动转换为其各自的原始类型?我遇到的问题是 foo
和bar
由于其值而转换为数字。
作为引用,我尝试使用 WSO2 的 ESB 4.9.0,它在处理 XML -> JSON 和 JSON -> XML 转换时使用 StAXON 库。
最佳答案
如果应该以这种方式转换,则不可能标记每个节点。您可以通过设置以下内容全局禁用 autoPrimitives,
打开ESB_HOME/repository/conf/synapse.properties,并设置
synapse.commons.json.json.output.autoPrimitive=false
关于java - StAXON - 当 autoPrimitive 为 true 时,强制将特定值设置为 String,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37553878/
当使用 StAXON 将 XML 有效负载转换为 JSON 时,是否可以标记特定节点,以便在转换时它们不遵守 autoPrimitive(true)属性(property)? 我有一些 XML:
我是一名优秀的程序员,十分优秀!