小智 10
JSON ...
与XML相比具有更小的开销 - XML的结束标记将样板代码大小增加了大约2倍.它也更人性化 - 考虑
{
"key": "value",
"other key": 3.1415926535897932,
"arr": [
1,
2,
3
]
}
Run Code Online (Sandbox Code Playgroud)
与
<?xml version="1.0"?>
<!-- not to mention the DTD declaration -->
<myXmlFormat>
<key>value</key>
<otherKey>3.1415926535897932</otherKey>
<arr>
<number>1</number>
<number>2</number>
<number>3</number>
</arr>
</myXmlFormat>
Run Code Online (Sandbox Code Playgroud)
解析更容易,更快(因为它更轻量级) - 有许多JSON解析器本身比相同编程语言中的XML解析器更小更快(考虑libxml2与js0n).
JSON的数据类型也与传统上被认为是"原始"的数据类型进行1:1映射 - 例如字符串,intergal和实数,数组和键值表.此外,这些原始数据类型很容易使用它们内置的Foundation - 上面的JSON可以毫不费力地解析为包含"key","other key"和"arr"作为键的NSDictionary,它们对应于字符串"价值",pi作为NSNumber和NSArray,具有奉献精神.同时还需要考虑XML - 也许您甚至必须创建自定义类来表示XML中描述的您自己的数据结构.
特别是对于iOS平台:Cocoa的原生XML解析器,NSXMLParser不仅仅是违反直觉使用.iOS上的Foundation框架不包括Mac OS X上的Foundation的NSXMLNode类,这迫使开发人员编写自己的spaghetto代码,将所有XML包装到一些结构化数据......好......结构而不是能够使用包含的.
| 归档时间: |
|
| 查看次数: |
13213 次 |
| 最近记录: |