JSONとXMLの比較

4476 ワード

整理日:2015/4/5
◆可読性
JSONとXMLの可読性は同じです.簡単な文法でありながら、標準的なラベル形式であり、勝負がつきにくいです.
◆拡張可能性
XMLは生まれつきいい拡張性を持っています.JSONももちろんあります.XMLの拡張は何もありません.JSONはできません.しかし、JSONはJavascriptホームフィールドで戦っています.Javascript複合オブジェクトを格納することができます.
◆符号化の難しさ
XMLは豊富なコードツールがあります.例えば、Dom 4 j、JDomなど、JSONも提供するツールがあります.工具がない場合は、熟練した開発者と同じように、希望のxml文書とJSON文字列を速く書くことができると信じていますが、xml文書は結構多い文字が必要です.
◆復号の難しさ
XMLの解析方式は二つあります.一つはドキュメントモデルを通して解析し、つまり親ラベルロープを通してマークを引き出します.例えば、xmlData.getElementsByTagName(「tagName」)は、あらかじめ文書構造を知っていた場合に使用するため、共通のパッケージはできません.もう一つの方法はノードを巡回することである.これは再帰的に実現できますが、解析されたデータは依然として形式が違っています.
JSONの構造を知っていたら、JSONを使ってデータを伝えるのは素晴らしいです.実用的で美しい読み取り可能性の高いコードを書くことができます.純粋なフロント開発者なら、きっとJSONが大好きです.でも、応用開発者なら、そんなに好きではありません.何しろxmlは本当に構造化されたマーク言語で、データ伝達のために使います.JSONの仕組みを知らずにJSONを解析すれば、それは悪夢です.手間はかかりますが、コードも冗長になります.結果もよく分かりません.しかし、多くのフロント開発者がJSONを選ぶことにも影響しません.JSONの文字列構造はJSONStringで見られます.もちろんこの文字列を使うのではなく、悪夢のままです.JSONをよく使う人はこの文字列を見てから、JSONの構造が分かりやすくなり、JSONを操作しやすくなります.以上はJavascriptにおいて、データのみに対するxmlとJSONの解析です.Javascriptの地盘の中で、JSONは结局ホームゲームで、その优位はもちろんはるかにxmlに优れています.JSONにJavascript複合体が記憶されていて、その構造が分からないなら、多くのプログラマも同じように泣いてJSONを解析していると信じています.
◆インスタンス比較
XMLとJSONはいずれも構造化法を用いてデータをマークしており、以下の簡単な比較を行う.
XMLで中国の一部の省市のデータを表しています.
<?xml version="1.0" encoding="utf-8"?>

<country><name>  </name>
<province>
	<name>   </name>
	<cities>
		<city>   </city>
		<city>  </city>
	</cities>
</province>
<province>
	<name>  </name>
	<cities>
		<city>  </city>
		<city>  </city>
		<city>  </city>
	</cities>
</province>
<province>
	<name>  </name>
	<cities>
		<city>  </city>
		<city>  </city>
	</cities>
</province>
<province>
	<name>  </name>
	<cities>
		<city>    </city>
	</cities>
</province>
JSONで次のように表します.
{name:"  ",</country>
	province:[
		{name:"   ",cities:{city:["   ","  "]}},
		{name:"  ",cities:{city:["  ","  ","  "]}},
		{name:"  ",cities:{city:["  ","  "]}},
		{name:"  ",cities:{city:["    "]}}
	]
}
◆符号化の可読性
xmlは明らかな利点があります.やはり人間の言語はこのような説明構造に近いです.jsonはもっとデータの塊のように読めば分かりにくいです.しかし、私達は難解な言語を読んで、ちょうど機械が読むことに適するので、jsonの索引.province[0].nameを通じて「アムール川」の値を読むことができます.◆符号化の手書きは難しいです.でも、書いた文字はJSONが明らかに少ないです.空白の表と改行を除けば、JSONはびっしりとした有用なデータですが、xmlは重複したマーカーが多く含まれています.
◆JSON概要
JSON(JavaScript Object Notation)は、軽量級のデータ交換フォーマットです.それはJavaScriptのサブセットに基づいています.JSONは言語から完全に独立したテキスト形式を採用していますが、C言語家族のような習慣も使用しています.これらの特性はJSONを理想的なデータ交換言語にする.読みやすいし、書きやすいし、機械の解析や生成もしやすいです.
JSONは、JavaScriptオブジェクトに表示されているデータのセットを文字列に変換し、この文字列を関数間で簡単に伝達したり、非同期アプリケーションでWebクライアントからサーバ端末プログラムに文字列を転送したりすることができます.この文字列はちょっと変わっていますが、JavaScriptは説明しやすく、JSONは「名前/値ペア」より複雑な構造を表しています.たとえば、配列および複雑なオブジェクトを表すことができ、キーおよび値の単純なリストだけではない.
JSONの2つの基礎構造:
1.「名前/値」ペアのセット.異なる言語では、オブジェクト、レコード、構造、辞書、ハッシュ表、結合リスト、または関連配列として理解される.2.値はシリアル表があります.ほとんどの言語では、配列として理解されています.
JSONのもう一つの利点は「クロスドメイン性」です.http://www.aspxuexi.com/のホームページで使用するのは完全に可能です.これは国境を越えて情報を伝えることができるという意味です.XMLHttpRequestを使ってもドメインを越えた情報は得られません.これはJavascript内部の安全性に制限されています.
JSONはXMLに完全に置換できますか?もちろんできません.原因はXMLの優位性です.通用性です.サーバー側に文法合格のJavascriptコードを発生させるのは簡単ではないです.これは主に巨大なシステムで発生しています.サーバー側とクライアント側は違った開発者がいます.彼らはオブジェクトの書式を協議しなければなりません.これは間違いを起こしやすいです.
Ajax
JSONを抱擁して、XMLをAjax(Aynchronous Javascript and XML)から逸脱させるのは、結局はブラウザがサーバ上のXMLコンテンツを非同期で読み取る技術です.今の技術はすべてXMLと関係があります.また概念を加えて看板にします.金具のように引っ張るとだめです.ドアの外の人はとても賑やかに見えます.ドアの中の人は首を横に振っています.XMLは、プラットフォームをまたぐ新しい言語ですか?実はXML=TXTです.XMLは多くの仕様に適合しているテキストだけです.それ自体は何もではなく、文字だけを保存するファイルです.ブラウザが非同期で読み込むのはサーバー上のテキスト内容だけですので、Ajax開発時はXMLにこだわる必要はありません.AjaxでJSONを使用する基本的な方法は、フロントがバックグラウンド宣言Javascriptオブジェクトの文字列をロードし、eval方法でそれを実際のオブジェクトに変換し、最後にDTMLでページ情報を更新することである.
JSON VS XML
・可読性SONと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になるはずです.