已关闭。此问题为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
2条答案
按热度按时间lf3rwulv1#
这取决于你所说的“更正确”是什么意思。
上述版本1和版本2
JSON
在**RFC 8259下有效**。JSON
。RFC 8259是开发人员使用不同编程语言开发JSON SDK/ Libraries的官方标准文档。
然而,尽管如此,大多数在线的
XML
到JSON
转换器(比如这个here)都会使用Version 1来处理转换,使其更紧凑、更可读(更易于使用)。在XML框中输入代码时,它会应用一些规则来转换XML:
*XML中已排序的行被转换为JSON数组。
soat7uwm2#
没有正确答案,也没有标准。
最好的答案取决于数据的语义,这是任何工具都不可能知道的。我们可以猜测你的数据的语义,因为我们熟悉“艺术家”和“标题”这样的词。但即使知道这些,我们也要进行猜测。一个目录中的所有东西都会是CD吗,就像你的例子中那样,或者这只是一个特例?CD在目录中的顺序是否重要?ARTIST和TITLE的顺序是否重要?XML中是否存在具有多个ARTIST子项的CD,如果是,你想让单个艺术家的例子使用同样的结构吗
理想的转换是从XML实现的数据模型开始的--它考虑了诸如一张CD是否有多个艺术家以及他们名字的顺序是否重要之类的问题--然后设计一个JSON数据结构来匹配该数据模型。从一个示例数据集推断数据模型涉及到大量的猜测。