我听到有人声称“JSON与XML相同”。 JSON和XML可比吗?每个人的主要相似点和不同点是什么?
有一些StackOverflow Q& As涉及比较JSON和XML [1] [2] [3] [4] [5] [6] {{ 3}},但没有一个提供一个好的,单一的参考点,专注于他们的主要相似点和不同点。
答案 0 :(得分:29)
JSON(JavaScript Object Notation)is a lightweight text-based open standard designed for human-readable data interchange
。 JSON is a text format that is completely language independent but uses conventions that are familiar to programmers
借用JSON sample from Wikipedia,一个人的JSON表示可能如下所示:
{
"firstName" : "John",
"lastName" : "Smith",
"address" :
{
"street": "21 2nd Street",
"city" : "New York",
"state" : "NY",
"zip" : "10021"
},
"phoneNumber":
[
{
"type" : "home",
"number": "212 555-1234"
},
{
"type" : "fax",
"number": "646 555-4567"
}
]
}
XML(可扩展标记语言)is a simple, very flexible text format derived from SGML
。根据{{3}},XML是a set of rules for encoding documents in machine-readable form. [... It's goals] emphasize simplicity, generality, and usability over the Internet. It is a textual data format[...].
再次借用Wikipedia,一个人的XML表示可能如下所示:
<person firstName="John" lastName="Smith">
<address street="21 2nd Street" city="New York" state="NY" zip="10021" />
<phoneNumber type="home" number="212 555-1234" />
<phoneNumber type="fax" number="646 555-4567" />
</person>
基于这些简单的定义,可以理解的是,可以得出JSON和XML具有可比性的结论。如果您的目标是通过互联网使用其中一个进行简单的数据交换,如上面的简单示例所示,那么这个目标肯定是可以实现的,而且JSON和XML实际上大部分都是可比较的。
但是,当您深入了解每个规格时,您开始意识到它们是完全不同的标准,具有相似的目标;每个都有重叠的用例,其中一个比另一个更好,并且它们是等效的解决方案(选择是特定用例的问题)。
虽然可能有点偏颇,但The Fat-Free Alternative to XML
XML sample from Wikipedia列出了一些优点。还有from the JSON site和XML vs JSON !!! Dont compare.
博客条目,其中包含一些可供比较的项目符号。
JSON Pros and Cons
中定义,XML定义为IETF RFC #4627)并且没有限制性许可证(W3C specification,{{ 3}})。答案 1 :(得分:0)
这是一组类似的关系,可用于将XML转换为JSON:
以下是一组类似的关系,可用于将JSON转换为XML:
<强>参考强>