JSON と XML – それらの違い
JSON と XML の主な違い
- JSON オブジェクトには型がありますが、XML データには型がありません。
- JSON は名前空間のサポートを提供しませんが、XML は名前空間のサポートを提供します。
- JSON には表示機能がありませんが、XML にはデータを表示する機能があります。
- JSON は安全性が低いのに対し、XML は JSON に比べて安全性が高くなります。
- JSON は UTF-8 エンコードのみをサポートしますが、XML はさまざまなエンコード形式をサポートします。
JSONとは何ですか?
JSONの 人間が読めるテキストを使用して、属性と値のペアや配列を含むデータオブジェクトを保存および送信するファイル形式です。JSONは、情報を整理して簡単にアクセスできるように保存するために使用されます。JSONは Javaスクリプト オブジェクト表記法。論理的にアクセスできる、人間が読めるデータのコレクションを提供します。
XMLとは何ですか?
XML は、データを保存するために設計された拡張可能なマークアップ言語です。 データの転送によく使われます。 大文字と小文字が区別されます。 XML を使用すると、マークアップ要素を定義し、カスタマイズされたマークアップ言語を生成できます。 要素は XML 言語の基本単位です。 XML ファイルの拡張子は .xml です。
JSONの歴史
JSON の歴史を形成する重要なランドマークを以下に示します。
- Douglas Crockford は 2000 年代初頭に JSON 形式を指定しました。
- 公式ウェブサイトは2002年に開設されました。
- 2005 年 XNUMX 月、Yahoo! は、一部の Web サービスを JSON で提供し始めます。
- JSON は 2013 年に ECMA 国際標準になりました。
- 最新の JSON 形式標準は 2017 年に公開されました。
XMLの歴史
XML の歴史における重要なランドマークを以下に示します。
- XML も SGML から派生しました。
- XML のバージョン 1.0 は 1998 年 XNUMX 月にリリースされました。
- 2001 年 XNUMX 月:IETF 提案標準: XML メディア タイプ
- XML は拡張マークアップ言語です。
- 1970: Charles Goldfarb、Ed Mosher、Ray Lorie が GML を発明
- XML の開発は 1996 年に Sun Microsystem で始まりました。
JSONの特徴
- 簡単に使える – JSON API は、一般的に使用されるユースケースを簡素化するのに役立つ高レベルのファサードを提供します。
- パフォーマンス – JSON はメモリ消費量が非常に少ないため非常に高速であり、大規模なオブジェクト グラフやシステムに特に適しています。
- 無料ツール – JSON ライブラリはオープンソースであり、無料で使用できます。
- マッピングを作成する必要はありません – Jackson API は、シリアル化される多くのオブジェクトのデフォルト マッピングを提供します。
- クリーンな JSON – 読みやすい、クリーンで互換性のある JSON 結果を作成します。
- 依存関係 – JSON ライブラリの処理には他のライブラリは必要ありません。
XMLの機能
- XML タグは事前定義されていません。 カスタマイズしたタグを定義する必要があります。
- XML はデータを運ぶように設計されており、そのデータを表示することはできません。
- XML のマークアップ コードは人間にとって理解しやすいです。
- そうですね、構造化された形式はプログラムからの読み書きが簡単です。
- XML は、HTML のような拡張可能なマークアップ言語です。
JSONとXMLの違い
JSON と XML の主な違いは次のとおりです。
JSONの | XML |
---|---|
JSON オブジェクトには型があります | XML データには型がありません |
JSON タイプ: 文字列、数値、配列、ブール値 | すべての XML データは文字列である必要があります |
データは JSON オブジェクトとして簡単にアクセスできます | XML データを解析する必要があります。 |
JSON はほとんどのブラウザでサポートされています。 | クロスブラウザーでの XML 解析は難しい場合がある |
JSON には表示機能がありません。 | XML はマークアップ言語であるため、データを表示する機能を提供します。 |
JSON はテキストと数値のデータ型のみをサポートします。 | XML は、数値、テキスト、画像、チャート、グラフなどのさまざまなデータ型をサポートします。また、データの構造や形式を実際のデータと転送するためのオプションも提供します。 |
値の取得は簡単です | 値の取得が難しい |
多くの Ajax ツールキットでサポートされています | Ajax ツールキットでは完全にはサポートされていません |
完全に自動化された逆シリアル化/シリアル化の方法 Javaスクリプト. | 開発者は書く必要がある JavaXML からシリアル化/デシリアル化するためのスクリプト コード |
オブジェクトのネイティブ サポート。 | オブジェクトは規約に従って表現する必要がありますが、属性や要素の使用がほとんど省略されています。 |
UTF-8 エンコーディングのみをサポートします。 | さまざまなエンコーディングをサポートしています。 |
コメントはサポートされていません。 | コメントをサポートします。 |
JSON ファイルは XML と比べて読みやすいです。 | XML ドキュメントは、読み取りと解釈が比較的困難です。 |
名前空間のサポートは提供しません。 | 名前空間をサポートします。 |
安全性が低くなります。 | JSON よりも安全です。 |
JSON コードと XML コード
サンプルの JSON コードを見てみましょう
{ "student": [ { "id":"01", "name": "Tom", "lastname": "Price" }, { "id":"02", "name": "Nick", "lastname": "Thameson" } ] }
同じコードを XML で勉強してみましょう
<?xml version="1.0" encoding="UTF-8" ?> <root> <student> <id>01</id> <name>Tom</name> <lastname>Price</lastname> </student> <student> <id>02</id> <name>Nick</name> <lastname>Thameson</lastname> </student> </root>
JSONを使用する利点
JSON を使用することの重要な利点/長所は次のとおりです。
- すべてのブラウザのサポートを提供する
- 読み書きが簡単
- 単純な構文
- ネイティブに解析できる Javaeval() 関数を使用したスクリプト
- 作成と操作が簡単
- すべての主要企業でサポート Javaスクリプトフレームワーク
- ほとんどのバックエンドテクノロジーでサポートされています
- JSONはネイティブに認識されます Javaスクリプト
- これにより、ネットワーク接続を使用して構造化データを送信およびシリアル化できます。
- 最新のプログラミング言語で使用できます。
- JSONは、任意のオブジェクトに変換できるテキストです。 JavaJSON にスクリプト化し、この JSON をサーバーに送信します。
XML を使用する利点
XML を使用することの重要な利点と欠点を次に示します。
- ドキュメントをシステムやアプリケーション間で転送可能にします。 XML を利用すると、異なるプラットフォーム間でデータを迅速に交換できます。
- XML はデータを HTML から分離します
- XML によりプラットフォーム変更プロセスが簡素化される
- ユーザー定義のタグを作成できます。
JSON を使用するデメリット
JSON を使用することの短所/欠点は次のとおりです。
- 名前空間がサポートされていないため、拡張性が低い
- 限定的 開発ツール サポート
- 正式な文法定義のサポートを提供します
XML を使用するデメリット
XML を使用する場合の短所/欠点を次に示します。
- XMLには処理アプリケーションが必要です
- XML構文は他の代替の「テキストベース」データ伝送形式と非常に類似しており、混乱を招くことがある。
- 組み込みデータ型はサポートされていません
- XML 構文が冗長です
XML と JSON のどちらが自分に適しているかを簡単に判断できるようになりました。