JSONとXMLの使い方を詳しく解説

Apr 25, 2018 pm 05:18 PM
javascript json 使用

今回は、JSON と XML の使用について詳しく説明します。JSON と XML を使用する際の 注意事項 は何ですか?実際の事例を見てみましょう。

1. 定義の紹介

1.1 XML 定義

拡張マークアップ言語 (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. 他のシステムとのリモート操作が簡単、そしてデータ共有がより便利になります。

XML の欠点

A. XML ファイルは巨大で、ファイル形式が複雑で、送信に帯域幅が消費されます。
B. サーバーとクライアントの両方が XML を解析するために大量のコードを費やす必要があり、サーバーとクライアントのパフォーマンスが低下します。コードが非常に複雑で困難になる
C. クライアント側の異なるブラウザ間で XML を解析する方法に一貫性がなく、多くのコードを繰り返し記述する必要がある
C. XML を解析するためにより多くのリソースと時間がかかる。サーバー側とクライアント側で。

2.2 JSON の利点と欠点

JSON の利点:

A. データ形式は比較的シンプルで、読み書きが簡単で、形式は圧縮されており、占有帯域幅もほとんどありません

B. 簡単です。 eval() を介して JSON データを読み取る
C. ActionScript、C、C#、ColdFusion、Java、JavaScript、Perl、PHP、Python、Ruby およびその他のサーバーを含む複数の言語をサポートします。サーバー側の解析を容易にするためのサイド言語。
D. PHP の世界では、PHP のシリアル化されたプログラム、サーバー側のオブジェクト、配列などを直接呼び出すことが推奨されています。 . JSON 形式を直接生成して、クライアントのアクセスと抽出を容易にすることができます。
E .JSON 形式はサーバー側のコードで直接使用できるため、サーバー側とクライアント側のコード開発が大幅に簡素化され、タスクは変わりません。メンテナンスが簡単です。

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 よりも簡単に記述できます。 XML はそれほど簡単ではありません。

解読の難易度の側面。

XML の解析では子ノードと親ノードを考慮する必要があるため、めまいがしますが、JSON の解析の難易度はほぼ 0 です。この時点では、XML が失うものは何もありません。

人気。

XML は業界で広く使用されていますが、JSON はまだ始まったばかりですが、Ajax の特定の分野では、今後の発展は XML が JSON に取って代わられるはずです。それまでに、Ajax は Ajaj (非同期 Javascript および JSON) になるはずです。

分析手法に関して。

JSON と XML にも豊富な解析メソッドがあります。

データ量の観点から。

XMLと比較して、JSONはデータサイズが小さく、通信速度が速いです。

データインタラクション。

JSON と JavaScript 間の対話はより便利で、解析と処理が容易になり、より優れたデータ対話が可能になります。

データの説明。

JSON は XML よりもデータの記述が少ないです。

通信速度。

JSON は XML よりもはるかに高速です。

4. XML と JSON データ形式の比較

4.1 軽量と重量について

軽量と重量は相対的な用語なので、JSON と比較して XML の重量はどれくらいですか? XML は現在、DOM と SAX という 2 つの解析方法を使用して設計されています。

DOM

DOM は、データ交換形式の XML を DOM オブジェクト として扱います。この点では、JSON と XML の原則は同じですが、XML では考慮する必要があります。親ノードと子ノードの場合、JSON は 2 つの構造に基づいて構築されているため、この時点では解析ははるかに困難ではありません。配列;

SAX

SAX は、ドキュメント全体を読み取ることなく、解析されたコンテンツを処理できます。プログラムはいつでも解析を終了することができます。このように、大きな文書を少しずつ段階的に表示できるため、SAX は大規模な解析に適しています。現在、これは JSON では不可能です。
JSON と XML の軽量/重量の違いは次のとおりです。
JSON は全体的な解析ソリューションのみを提供し、この方法はより少ないデータを解析する場合にのみ良好な結果を達成できます。
XML は大規模なデータを提供します。このスキームは、大量のデータを処理するのに非常に適しています。

4.2 データ形式のエンコードと解析の難しさについて

エンコードに関して。

XML と JSON には独自のエンコード ツールがありますが、JSON のエンコードは XML よりも簡単です。ツールを使用しなくても JSON コードを作成できますが、XML と同じように適切なコードを作成するのは少し困難です。 , JSON もテキストベースであり、すべて Unicode エンコーディングを使用しており、データ交換形式の XML と同じくらい読みやすいです。

主観的には、JSON はより明確で冗長性が低くなります。 JSON Web サイトでは、JSON 構文の簡潔ではあるが厳密な説明が提供されています。一般に、XML はドキュメントのマーク付けに適しており、JSON はデータ交換処理に適しています。

分析の観点から。

通常の Web アプリケーションの分野では、サーバー側で XML を生成または処理する場合でも、JavaScript を使用してクライアント側で XML を解析する場合でも、開発者は XML の解析に苦労することが多く、コードが複雑になり、開発効率が非常に低下することがよくあります。 。実際、ほとんどの Web アプリケーションでは、データを送信するために複雑な XML はまったく必要ありません。XML が主張する拡張性は、多くの Ajax アプリケーションが動的 Web ページを構築するために直接 HTML フラグメントを返すことさえありません。 XML を返して解析する場合と比較して、HTML フラグメントを返すとシステムの複雑さは大幅に軽減されますが、ある程度の柔軟性にも欠けます。データ交換形式 JSON は、XML や HTML フラグメントよりも優れたシンプルさと柔軟性を提供します。 Web サービス アプリケーションでは、少なくとも現時点では、XML は依然として揺るぎない地位を占めています。

比較の例

XML と JSON はどちらも構造化メソッドを使用してデータをマークします。以下で簡単な比較を行ってみましょう。

XML を使用して、次のように中国の一部の省および都市のデータを表します:

<?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>
ログイン後にコピー

JSON を使用して、次のように中国の一部の省および都市のデータを表します:

 var country =
    {
      name: "中国",
      provinces: [
      { name: "黑龙江", citys: { city: ["哈尔滨", "大庆"]} },
      { name: "广东", citys: { city: ["广州", "深圳", "珠海"]} },
      { name: "台湾", citys: { city: ["台北", "高雄"]} },
      { name: "新疆", citys: { city: ["乌鲁木齐"]} }
      ]
    }
ログイン後にコピー
エンコードの可読性の観点からは、XML は明らかに優れています。結局のところ、人間の言語はそのような構造に近いのです。 JSON はデータ ブロックに近いため、読むのがさらにわかりにくくなります。ただし、私たちにとって読みにくい言語は機械の読み取りに適しているため、値「黒龍江省」は JSON インデックス country.provinces[0].name を通じて読み取ることができます。

コーディングの手書きの難しさという点では、XMLの方が読みやすく、もちろん書きやすいです。ただし、記述される JSON 文字は明らかに大幅に少なくなります。空白のタブと改行を削除すると、JSON には有用なデータが密に詰め込まれますが、XML には繰り返しマークアップ文字が多数含まれます。

この記事の事例を読んだ後は、この方法を習得したと思います。さらに興味深い情報については、php 中国語 Web サイトの他の関連記事に注目してください。

推奨読書:

jsonp+json は AJAX クロスドメインリクエストを実装します

Jsonp はどのようにして Ajax クロスドメインを解決できるか

以上がJSONとXMLの使い方を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

CrystalDiskmarkとはどのようなソフトウェアですか? -crystaldiskmarkの使い方は? CrystalDiskmarkとはどのようなソフトウェアですか? -crystaldiskmarkの使い方は? Mar 18, 2024 pm 02:58 PM

CrystalDiskMark は、シーケンシャルおよびランダムの読み取り/書き込み速度を迅速に測定する、ハード ドライブ用の小型 HDD ベンチマーク ツールです。次に、編集者が CrystalDiskMark と Crystaldiskmark の使用方法を紹介します。 1. CrystalDiskMark の概要 CrystalDiskMark は、機械式ハード ドライブとソリッド ステート ドライブ (SSD) の読み取りおよび書き込み速度とパフォーマンスを評価するために広く使用されているディスク パフォーマンス テスト ツールです。 ). ランダム I/O パフォーマンス。これは無料の Windows アプリケーションで、使いやすいインターフェイスとハード ドライブのパフォーマンスのさまざまな側面を評価するためのさまざまなテスト モードを提供し、ハードウェアのレビューで広く使用されています。

foob​​ar2000のダウンロード方法は? -foobar2000の使い方 foob​​ar2000のダウンロード方法は? -foobar2000の使い方 Mar 18, 2024 am 10:58 AM

foob​​ar2000 は、音楽リソースをいつでも聴くことができるソフトウェアです。あらゆる種類の音楽をロスレス音質で提供します。音楽プレーヤーの強化版により、より包括的で快適な音楽体験を得ることができます。その設計コンセプトは、高度なオーディオをコンピュータ上で再生可能 デバイスを携帯電話に移植し、より便利で効率的な音楽再生体験を提供 シンプルでわかりやすく、使いやすいインターフェースデザイン 過度な装飾や煩雑な操作を排除したミニマルなデザインスタイルを採用また、さまざまなスキンとテーマをサポートし、自分の好みに合わせて設定をカスタマイズし、複数のオーディオ形式の再生をサポートする専用の音楽プレーヤーを作成します。過度の音量による聴覚障害を避けるために、自分の聴覚の状態に合わせて調整してください。次は私がお手伝いさせてください

BTCC チュートリアル: BTCC 取引所で MetaMask ウォレットをバインドして使用する方法は? BTCC チュートリアル: BTCC 取引所で MetaMask ウォレットをバインドして使用する方法は? Apr 26, 2024 am 09:40 AM

MetaMask (中国語ではリトル フォックス ウォレットとも呼ばれます) は、無料で評判の高い暗号化ウォレット ソフトウェアです。現在、BTCC は MetaMask ウォレットへのバインドをサポートしており、バインド後は MetaMask ウォレットを使用してすぐにログイン、値の保存、コインの購入などが可能になり、初回バインドで 20 USDT のトライアル ボーナスも獲得できます。 BTCCMetaMask ウォレットのチュートリアルでは、MetaMask の登録方法と使用方法、および BTCC で Little Fox ウォレットをバインドして使用する方法を詳しく紹介します。メタマスクウォレットとは何ですか? 3,000 万人を超えるユーザーを抱える MetaMask Little Fox ウォレットは、現在最も人気のある暗号通貨ウォレットの 1 つです。無料で使用でき、拡張機能としてネットワーク上にインストールできます。

NetEase メールボックス マスターの使用方法 NetEase メールボックス マスターの使用方法 Mar 27, 2024 pm 05:32 PM

NetEase Mailbox は、中国のネットユーザーに広く使用されている電子メール アドレスとして、その安定した効率的なサービスで常にユーザーの信頼を獲得してきました。 NetEase Mailbox Master は、携帯電話ユーザー向けに特別に作成された電子メール ソフトウェアで、電子メールの送受信プロセスが大幅に簡素化され、電子メールの処理がより便利になります。 NetEase Mailbox Master の使い方と具体的な機能について、以下ではこのサイトの編集者が詳しく紹介しますので、お役に立てれば幸いです。まず、モバイル アプリ ストアで NetEase Mailbox Master アプリを検索してダウンロードします。 App Store または Baidu Mobile Assistant で「Ne​​tEase Mailbox Master」を検索し、画面の指示に従ってインストールします。ダウンロードとインストールが完了したら、NetEase の電子メール アカウントを開いてログインします。ログイン インターフェイスは次のとおりです。

Baidu Netdisk アプリの使用方法 Baidu Netdisk アプリの使用方法 Mar 27, 2024 pm 06:46 PM

クラウド ストレージは今日、私たちの日常生活や仕事に欠かせない部分になっています。中国有数のクラウド ストレージ サービスの 1 つである Baidu Netdisk は、強力なストレージ機能、効率的な伝送速度、便利な操作体験により多くのユーザーの支持を得ています。また、重要なファイルのバックアップ、情報の共有、オンラインでのビデオの視聴、または音楽の聴きたい場合でも、Baidu Cloud Disk はニーズを満たすことができます。しかし、Baidu Netdisk アプリの具体的な使用方法を理解していないユーザーも多いため、このチュートリアルでは Baidu Netdisk アプリの使用方法を詳しく紹介します。まだ混乱しているユーザーは、この記事に従って詳細を学ぶことができます。 Baidu Cloud Network Disk の使用方法: 1. インストール まず、Baidu Cloud ソフトウェアをダウンロードしてインストールするときに、カスタム インストール オプションを選択してください。

iOS 17.4の新しい高度な機能「盗難デバイス保護」の使い方を教えます iOS 17.4の新しい高度な機能「盗難デバイス保護」の使い方を教えます Mar 10, 2024 pm 04:34 PM

Appleは火曜日にiOS 17.4アップデートを公開し、iPhoneに多数の新機能と修正をもたらした。このアップデートには新しい絵文字が含まれており、EU ユーザーは他のアプリ ストアから絵文字をダウンロードすることもできます。さらに、このアップデートでは iPhone のセキュリティ制御も強化され、より多くの「盗難デバイス保護」設定オプションが導入され、ユーザーにより多くの選択肢と保護が提供されます。 「iOS17.3では、「盗難デバイス保護」機能が初めて導入され、ユーザーの機密情報のセキュリティが強化されています。ユーザーが自宅やその他の身近な場所から離れている場合、この機能ではユーザーは最初に生体認証情報を入力する必要がありますApple ID パスワードの変更や盗難デバイス保護の無効化など、特定のデータにアクセスして変更するには、情報を再度入力する必要があります。

PHP 配列を JSON に変換するためのパフォーマンス最適化のヒント PHP 配列を JSON に変換するためのパフォーマンス最適化のヒント May 04, 2024 pm 06:15 PM

PHP 配列を JSON に変換するためのパフォーマンスの最適化方法には、JSON 拡張機能と json_encode() 関数の使用、文字エスケープを回避するためのバッファーの使用、およびサードパーティのエンコード結果の使用の検討が含まれます。 JSONエンコーディングライブラリ。

Xiaomi Autoアプリの使い方 Xiaomi Autoアプリの使い方 Apr 01, 2024 pm 09:19 PM

Xiaomi 車用ソフトウェアは、車のリモート制御機能を提供し、ユーザーが携帯電話やコンピュータを介して車両のドアや窓の開閉、エンジンの始動、車両のエアコンやオーディオの制御など、車両を遠隔制御できるようにします。このソフトウェアの使い方や内容について、一緒に学びましょう。 Xiaomi Auto アプリの機能と使用方法の包括的なリスト 1. Xiaomi Auto アプリは 3 月 25 日に Apple AppStore で公開され、Android スマートフォンのアプリストアからダウンロードできるようになりました; 車の購入: 主要なハイライトと技術パラメータについて学びますXiaomi Auto のサービスを利用して、試乗の予約をし、Xiaomi 車の設定と注文を行い、車の受け取りの To-Do 項目のオンライン処理をサポートします。 3. コミュニティ: Xiaomi Auto ブランド情報を理解し、車の経験を交換し、素晴らしいカーライフを共有します; 4. 車の制御: 携帯電話はリモコン、遠隔制御、リアルタイム セキュリティ、簡単です。

See all articles