json - JSON to XML 有什么损失吗?
问题描述
我们有一个接受 XML、JSON、SQL、OData 等数据的程序。对于 XML,我们使用 Saxon 及其 XPath 支持,效果非常好。
对于 JSON,我们使用不如 XPath 3.1 强大的jsonPath 库。并且 jsonPath 在某些极端情况下有点松鼠。
那么......如果我们将我们得到的 JSON 转换为 XML 然后使用 Saxon 会怎样?这种方法有限制吗?是否存在不会转换为 XML 的 JSON 结构,例如匿名数组?
解决方案
标题问题:json-to-xml()
XPath 3.1 中的函数是无损的,除了默认情况下,XML 中无效的字符(例如 NUL 或未配对的代理)被替换为 SUB 字符——您可以使用选项 escape= 更改此行为真的。
为方便起见,以一定的代价实现了无损。例如,JSON 属性名称不会转换为 XML 元素或属性名称,而是转换为key
属性的值。