之前做一個平台的時候要做一個動態生成JOSN文件的功能。以前大家以為一些開源的類庫 像SBJSON和JSONKit這些都是一些比較好的。現在用第2種比較多,效率大家普遍比較的高。其實這兩種JSON處理工具是可以把字典轉化為JSON文件,也可以把JSON文件轉化為字典。
在做這個平台的時候JOSN被當作一些參數配置的文件。里面是你設置的一些參數。
IOS自己也有處理JSON的原生的東西。
通過NSJSONSerialization這個類的JSONObjectWithData:options:error:方法來實現。
通過NSJSONSerialization這個類的ataWithJSONObject:options:error:方法來實現。ons:error:方法來實現。
通過兩個方法實現互相的轉換。
對於服務器的接口還是用JSON的比較多。XML的比較少的還是。
◆可讀性
JSON(Java Object Notation) 和XML的可讀性可謂不相上下,一邊是建議的語法,一邊是規范的標簽形式,很難分出勝負。
◆可擴展性
XML天生有很好的擴展性,JSON當然也有,沒有什么是XML能擴展,JSON不能的。
◆編碼難度
XML有豐富的編碼工具,比如Dom4j、JDom等,JSON也有json.org提供的工具,但是JSON的編碼明顯比XML容易許多,即使不借助工具也能寫出JSON的代碼,可是要寫好XML就不太容易了。
◆解碼難度
XML的解析得考慮子節點父節點,讓人頭昏眼花,而JSON的解析難度幾乎為0。這一點XML輸的真是沒話說。
◆實例比較
XML和JSON都使用結構化方法來標記數據,下面來做一個簡單的比較。
現假設有一個用戶數據包括:用戶名、密碼、所在部門、性別、年齡。
用XML表示如下:
<?xml version="1.0" encoding="utf-8"?>
<user>
<name>張三 </name>
<password>123456</password>
<department>技術部</department>
<sex>男</sex>
<old>30</old>
</user>
用JSON表示如下:
{
"name":"張三",
"password":"123456",
"department":"技術部",
"sex":"男",
"old":30
}
與XML一樣,JSON也是基於文本的,且它們都使用Unicode編碼,同樣具有可讀性。XML比較適合於標記文檔,而JSON卻更適合於時行數據交換處理。
對於他們兩個的區別下篇做詳細的解答。