JSON模式与XML模式

时间:2014-10-07 10:01:21

标签: xml json xsd jsonschema

当然,XML和JSON是不同的。但是,如果您在纯结构级别上看到这些格式,则它们可能是相同数据的可交换表示形式。两者都可以用模式定义来描述:JSON Schema和XML Schema。

您可以使用XML Schema描述与JSON Schema相同的数据结构,反之亦然吗? 是否有可能编写转换时不会丢失信息的JSSD / XSD转换器?

2 个答案:

答案 0 :(得分:2)

我很确定答案是否定的。

首先,即使在开始考虑模式之前,在实例级别定义JSON和XML之间的完全无损映射也相当困难。所以"相同数据结构的概念"需要资格。

大多数XML Schema都与语法和内容模型有关,例如说一个部分包含一个可选的标题,后跟零个或多个段落,每个段落可以是p,ul或table元素。我不认为JSON Schema中存在类似的东西。 JSON Schema中的数组似乎被视为统一且​​同质的。

答案 1 :(得分:1)

我很确定答案是肯定的。

使用当前的JSON Schema草案04(hyperschema),您当前可以将大部分XML Schema映射到JSON Schema。有一些丑陋的解决方法将在草案05中过时:我非常确定提案 propertyLinks 将“成为”下一个草案,请参阅此页面: https://github.com/json-schema/json-schema/wiki/v5-Proposals

还有现有项目,例如owl2vowl and webowl正在使用to JSON Schema转换器。这是Java。 我不确定XML Schema支持的程度。 但是:

我开始在javascript中编写一个JSON Schema“playground”(带有一个可选的'node.js part')。在javascript中有一个solution for schema.org。我问自己如何以类似的方式导入OWL / RDFS / XML Schema。我现在70%准备好了OWL / RDFS部分。

因此,如果您对此感兴趣,我们可以为XML Schema部分设置讨论,我可以在之前推送到github。