首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Saxon是否提供了一种在map中维护键插入顺序的方法?

Saxon是否提供了一种在map中维护键插入顺序的方法?
EN

Stack Overflow用户
提问于 2020-09-17 20:09:24
回答 1查看 27关注 0票数 0

在将映射序列化为JSON时,Saxon似乎不会保持键的插入顺序。虽然我知道JSON不需要这样做,但它将有助于诊断和减少最终用户的困惑。

有没有什么方法可以做到这一点,也许是通过实现一个定制的序列化程序?或者订单会在流程的早期丢失吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-17 23:14:38

Saxon ( Java/.NET版本)有两个XDM实现,HashTrieMap和DictionaryMap,两者都不维持顺序。两者都使用在插入时随机化位置的散列结构,因此无法恢复位置。同样,Saxon-JS使用不保留顺序的HashTrie结构。

我们自己解决了这个问题,为Saxon-JS生成了SEF文件。这是一种基于JSON的格式,如果属性是随机顺序的,则很难读取。因此,我们实现了序列化选项saxon:property-order,它允许您为输出中的属性定义排序。它不能让您保持原始的输入顺序,但可以让您以一种对读者有意义的方式对输出进行排序。

与W3C规范的所有Saxon扩展一样,这需要Saxon-PE或更高版本。

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

https://stackoverflow.com/questions/63937755

复制
相关文章

相似问题

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