gpt4 book ai didi

java - StAXON - 当 autoPrimitive 为 true 时,强制将特定值设置为 String

转载 作者:行者123 更新时间:2023-11-30 02:54:53 28 4
gpt4 key购买 nike

当使用 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 中的某些节点不会自动转换为其各自的原始类型?我遇到的问题是 foobar由于其值而转换为数字。

作为引用,我尝试使用 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/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com