JSONとXMLの比較


JSON(Javascript Object Notation)は、軽量レベルのデータ交換フォーマットです.読みやすく、書きやすい.同時に機械の解析と生成も容易である.Javascript Programming Language,Standard ECMA-2623 rd Edition-December 1999のサブセットに基づいています.JSONは完全に言語から独立したテキスト形式を採用しているが、C言語ファミリーに似た習慣(C,C++,C#,Java,Javascript,Perl,Pythonなどを含む)も使用されている.これらの特性はJSONを理想的なデータ交換言語にした.
JSONの概念は簡単で,サーバがJavascript文を直接生成し,クライアントが取得した後にeval法でこのオブジェクトを直接取得することで,XMLの解析的損失を省くことができる.
バックグラウンドから情報をロードするには、XMLと書きます.次のようにします.

<contact>
<friend>
<name>Michael</name>
<email>[email protected]</email>
<homepage>http://www.jialing.net</homepage>
</friend>
<friend>
<name>John</name>
<email>[email protected]</email>
<homepage>http://www.john.com</homepage>
</friend>
<friend>
<name>Peggy</name>
<email>[email protected]</email>
<homepage>http://www.peggy.com</homepage>
</friend>
</contact>

JSONと書きます.


[
{
name:"Michael",
email:"[email protected]",
homepage:"http://www.jialing.net"
},
{
name:"John",
email:"[email protected]",
homepage:"http://www.jobn.com"
},
{
name:"Peggy",
email:"[email protected]",
homepage:"http://www.peggy.com"
}
]

简単なのは表现だけではなくて、最も重要なのは头がくらくらするDOM解析を舍てることができます.Javascriptの宣言規範に合致すれば、JavaScriptは自動的に解析してくれるからです.AjaxでJSONを使用する基本的な方法は、フロントにバックグラウンド宣言Javascriptオブジェクトの文字列をロードし、evalメソッドで実際のオブジェクトに変換し、最後にDHTMLでページ情報を更新することです.
JSONは解析XML解析によるパフォーマンスの問題や互換性の問題を減らすだけでなく、Javascriptにとって非常に使いやすく、配列やアクセスオブジェクトの属性を巡ってデータを容易に取得することができ、その可読性も悪くなく、構造化データの性質を基本的に備えている.良い方法と言わざるを得ませんが、実際にgoogle mapsはXMLでデータを伝達するのではなく、JSON案を採用しています.
JSONのもう一つの利点は「ドメイン間性」です.例えばwww.Web.cnのページで使う
http://www.yyy.com/some.js">
完全に可能です.これは、ドメイン間で情報を伝えることができることを意味します.XMLHttpRequestを使用すると、Javascript内部のセキュリティ特性によって制限されているドメイン間の情報は取得できません.
JSONはXMLに完全に取って代わることができますか?もちろんできません.理由はXMLの優位性:汎用性にあります.サーバ側に文法的に合格したJavascriptコードを生成するのは容易ではありません.これは主に膨大なシステムで発生し、サーバ側とクライアントには異なる開発者がいます.オブジェクトのフォーマットを協議する必要があります.これはエラーを起こしやすいです.
JSONの基本フォーマットは以下の通りです.
・オブジェクトは属性・値ペアの集合である.オブジェクトの開始は「{」で、終了は「}」です.各属性名と値の間には「:」プロンプト、属性間に「,」で区切られます.
・配列は順序のある値の集合である.配列は[]で始まり、[]で終わり、値の間は「,」で区切られます.
・値は、引用符の文字列、数字、true、false、null、オブジェクトまたは配列であってもよい.これらの構造はネストできます.
・文字列の定義は、CまたはJavaとほぼ一致する.
・数字の定義もCやJavaとほぼ一致する.
JSON VS XML
・可読性JSONとXMLの可読性は互角であり、提案された文法でありながら、規範的なラベル形式であり、勝負がつきにくい.
・拡張性XMLは生まれながらにして優れた拡張性があり、JSONももちろんあり、XMLが拡張できるものは何もありません.JSONではできません.
・符号化難易度XMLにはDom 4 j、JDomなど豊富な符号化ツールがあり、JSONにもjsonがある.orgが提供するツールですが、JSONの符号化は明らかにXMLよりずっと簡単で、ツールを借りなくてもJSONのコードを書くことができますが、XMLを書くのは容易ではありません.
・復号難易度XMLの解析は,子ノードの親ノードを考慮して頭がくらくらするが,JSONの解析難易度はほぼ0である.この点XMLが負けたのは本当に話がない.
・流行度XMLはすでに業界で広く使われているが、JSONはまだ始まったばかりであるが、Ajaxという特定の分野では、将来の発展はXMLがJSONに位置づけられるに違いない.AjaxはAjaj(Asynchronous Javascript and JSON)になるはずです.