XML到JSON -规范?[已关闭]

wyyhbhjk  于 2023-01-06  发布在  其他
关注(0)|答案(2)|浏览(236)

已关闭。此问题为opinion-based。当前不接受答案。
**想要改进此问题吗?**请更新此问题,以便editing this post可以用事实和引文来回答。

2天前关闭。
Improve this question
假设您的XML文件是:

<CATALOG>
<CD>
    <TITLE>Empire Burlesque</TITLE>
    <ARTIST>Bob Dylan</ARTIST>
</CD>
<CD>
    <TITLE>Empire Burlesque</TITLE>
    <ARTIST>Bob Dylan</ARTIST>
</CD>

如果将其转换为JSON,它应该是(版本1):

{
"CATALOG": {
    "CD": [
        {
            "ARTIST": "Bob Dylan",
            "TITLE": "Empire Burlesque"
        },
        {
            "ARTIST": "Bob Dylan",
            "TITLE": "Empire Burlesque"
        },
    ]
}

}
或(版本2):

{
"CATALOG": [
    {
        "CD": {
            "ARTIST": "Bob Dylan",
            "TITLE": "Empire Burlesque"
        }
    },
    {
        "CD": {
            "ARTIST": "Bob Dylan",
            "TITLE": "Empire Burlesque"
        }
    }
]

}
我的感觉是版本1更正确,但我想知道是否有一个规范?
感谢您的反馈- Christian

lf3rwulv

lf3rwulv1#

这取决于你所说的“更正确”是什么意思。
上述版本1和版本2 JSON在**RFC 8259有效**。

  • 了解更多关于它的信息here
  • 使用它here验证您的JSON

RFC 8259是开发人员使用不同编程语言开发JSON SDK/ Libraries的官方标准文档。
然而,尽管如此,大多数在线的XMLJSON转换器(比如这个here)都会使用Version 1来处理转换,使其更紧凑、更可读(更易于使用)。
在XML框中输入代码时,它会应用一些规则来转换XML:

  • 代码中的命名空间将从结果属性中移除。
  • 代码的属性将被视为JSON属性。
    *XML中已排序的行被转换为JSON数组。
soat7uwm

soat7uwm2#

没有正确答案,也没有标准。
最好的答案取决于数据的语义,这是任何工具都不可能知道的。我们可以猜测你的数据的语义,因为我们熟悉“艺术家”和“标题”这样的词。但即使知道这些,我们也要进行猜测。一个目录中的所有东西都会是CD吗,就像你的例子中那样,或者这只是一个特例?CD在目录中的顺序是否重要?ARTIST和TITLE的顺序是否重要?XML中是否存在具有多个ARTIST子项的CD,如果是,你想让单个艺术家的例子使用同样的结构吗
理想的转换是从XML实现的数据模型开始的--它考虑了诸如一张CD是否有多个艺术家以及他们名字的顺序是否重要之类的问题--然后设计一个JSON数据结构来匹配该数据模型。从一个示例数据集推断数据模型涉及到大量的猜测。

相关问题