1. 定義の紹介
1.1 XML 定義
Extensible Markup Language (XML) は、電子ドキュメントをマークして構造化するために使用されるマークアップ言語で、ユーザーが独自のソース言語を定義できるようにします。 。 XML は、DTD (ドキュメント タイプ定義) ドキュメント タイプ定義を使用してデータを整理します。この形式は、プラットフォームおよび言語に依存せずに統一されており、長い間業界で標準として認識されてきました。
XML は標準一般化マークアップ言語 (SGML) のサブセットであり、Web トランスポートに適しています。 XML は、アプリケーションやベンダーに依存せずに構造化データを記述および交換するための統一された方法を提供します。
1.2 JSON 定義
JSON (JavaScript Object Notation) は、読みやすく、素早く書きやすい軽量のデータ交換形式です。異なるプラットフォーム間でのデータ交換が可能です。 JSON は、互換性が高く、完全に言語に依存しないテキスト形式を採用しており、C 言語の習慣 (C、C、C#、Java、JavaScript、Perl、Python などを含む) と同様の動作をします。これらの特性により、JSON は理想的なデータ交換言語になります。
JSON は、標準 ECMA-262 第 3 版 (1999 年 12 月) のサブセットである JavaScript プログラミング言語に基づいています。
2. XML と JSON の長所と短所
2.1 XML の長所と短所
XML の利点
A. 形式は統一されており、標準に準拠しています。
B. 他のシステムとリモートで対話するのが簡単で、データ共有がより便利です。
A.XML ファイルは巨大で、ファイル形式が複雑で、送信には帯域幅が消費されます。
B. サーバーとクライアントの両方が XML を解析するために大量のコードを費やす必要があるため、サーバーとクライアントのコードが非常に複雑になり、保守が困難になります。
C. クライアント側の異なるブラウザ間で XML を解析する方法に一貫性がなく、多くのコードを繰り返し記述する必要があります。
D. サーバーとクライアントは、XML の解析により多くのリソースと時間を費やします。
2.2 JSON の長所と短所
JSON の利点:
A. データ形式は比較的シンプルで、読み書きが簡単で、圧縮されており、帯域幅をほとんど消費しません。
B. 解析が簡単で、クライアント側の JavaScript は eval()
を通じて JSON データを読み取ることができます。
C. サーバー側の解析を容易にするために、ActionScript、C、C#、ColdFusion、Java、JavaScript、Perl、PHP、Python、Ruby およびその他のサーバー側言語を含む複数の言語をサポートします。
D. PHP の世界では、PHP-JSON および JSON-PHP がすでに登場しており、PHP のサーバー側オブジェクト、配列などを直接呼び出して、クライアントのアクセスと抽出を容易にすることができます。 ;
JSON の欠点
A. XML 形式ほど人気も広く使用されておらず、XML ほど汎用性も高くありません。
B. Web サービスにおける JSON 形式の推進はまだ初期段階にあります。
3. XML と JSON の長所と短所の比較
JSON と XML のデータの可読性は基本的に同じです。一方で、JSON と XML の可読性はほぼ同じであり、もう一方では、標準化されたタグ形式の方が可読性が高くなります。
スケーラビリティの観点から。
XML はもともと非常にスケーラブルであり、JSON にも確かにスケーラビリティがあります。XML で拡張できて JSON で拡張できないものは何もありません。
コーディングの難しさの観点から。
XML には Dom4j、JDom などの豊富なエンコード ツールがあり、JSON にも json.org が提供するツールがあります。ただし、JSON エンコードは明らかに XML を使用しなくても JSON コードを作成できます。ツールはありますが、適切な XML を作成する必要があります。
解読の難しさ。
XML の解析では子ノードと親ノードを考慮する必要があるためめまいがしますが、JSON の解析の難易度はほぼ 0 です。この時点では、XML が失うものは何もありません。
人気。
XML は業界で広く使用されていますが、JSON は始まったばかりですが、Ajax の特定の分野では、今後の発展は XML から JSON に取って代わられるはずです。それまでに、Ajax は Ajaj (非同期 Javascript および JSON) になるはずです。
分析手法に関して。
JSON と XML にも豊富な解析メソッドがあります。
データ量に関して。
JSON は XML に比べてデータサイズが小さく、送信速度が速いです。
データのやり取り。
JSON と JavaScript の間の対話はより便利で、解析と処理が容易になり、より優れたデータ対話が可能になります。
データの説明。
JSON は XML よりもデータの記述が少ないです。
通信速度。
JSON は XML よりもはるかに高速です。
4. XML と JSON データ形式の比較
4.1 ライトウェイトとヘビーウェイトについて
軽量と重量は相対的な用語です。では、JSON と比較して XML の重量はどこにあるのでしょうか? XML は現在、DOM と SAX の 2 つの解析方法で設計されています。
ドム
DOM はデータ交換形式 XML を DOM オブジェクトとして扱い、XML ファイル全体をメモリに読み込む必要があります。この点では JSON と XML の原則は同じですが、XML は親ノードと子ノードを考慮する必要があります。 . JSON は、キーと値のペアのコレクションであるキー/値、配列として理解できる値のコレクションという 2 つの構造で構築されているため、解析はそれほど難しくありません。
サックス
したがって、JSON と XML の軽量/重量の違いは次のとおりです。
JSON は全体的な解析ソリューションのみを提供しており、この方法では解析するデータが少ない場合にのみ良好な結果が得られます。
XML は、大規模データに対する段階的な解析ソリューションを提供し、大量のデータの処理に非常に適しています。
コーディングの観点から。
XML と JSON には独自のエンコード ツールがありますが、JSON エンコードは XML よりも簡単です。ツールを使用しなくても JSON コードを作成できますが、XML や JSON と同じように適切なコードを作成するのは少し困難です。これもテキストベースであり、すべて Unicode エンコーディングを使用しており、データ交換形式 XML
読みやすさ。
主観的に言えば、JSON の方が明確で冗長性が低いです。 JSON Web サイトでは、JSON 構文の簡潔ではあるが厳密な説明が提供されています。一般に、XML はドキュメントのマーク付けに適しており、JSON はデータ交換処理に適しています。
解析に関して。
通常の Web アプリケーションの分野では、サーバー側で XML を生成または処理する場合でも、JavaScript を使用してクライアント側で XML を解析する場合でも、開発者は XML 解析に苦労することが多く、コードが複雑になり、開発効率が大幅に低下することがよくあります。効率。
比較例
XML と JSON はどちらも構造化メソッドを使用してデータをマークします。以下で簡単に比較してみましょう。
<?xml version="1.0" encoding="utf-8" ?> <country> <name>中国</name> <province> <name>黑龙江</name> <citys> <city>哈尔滨</city> <city>大庆</city> </citys> </province> <province> <name>广东</name> <citys> <city>广州</city> <city>深圳</city> <city>珠海</city> </citys> </province> <province> <name>台湾</name> <citys> <city>台北</city> <city>高雄</city> </citys> </province> <province> <name>新疆</name> <citys> <city>乌鲁木齐</city> </citys> </province> </country>
var country = { name: "中国", provinces: [ { name: "黑龙江", citys: { city: ["哈尔滨", "大庆"]} }, { name: "广东", citys: { city: ["广州", "深圳", "珠海"]} }, { name: "台湾", citys: { city: ["台北", "高雄"]} }, { name: "新疆", citys: { city: ["乌鲁木齐"]} } ] }
コーディングの手書きの難しさという点では、XML の方が読みやすく、もちろん書きやすいです。ただし、記述される JSON 文字は明らかに大幅に少なくなります。空白のタブと改行を削除すると、JSON には有用なデータが密に詰め込まれますが、XML には繰り返しマークアップ文字が多数含まれます。
以上がこの記事の全内容です。皆さんに気に入っていただければ幸いです。