JSON (JavaScript Object Notation) は軽量のデータ交換形式です。人間にとっては読み書きが簡単で、機械にとっては解析と生成が簡単です。これは、JavaScript のサブセット (標準 ECMA-262 第 3 版 - 1999 年 12 月) に基づいています。 JSON は完全に言語に依存しないテキスト形式を使用しますが、C 言語ファミリー (C、C++、C#、Java、JavaScript、Perl、Python などを含む) に似た規則も使用します。これらの特性により、JSON は理想的なデータ交換言語になります。
JSON と XML
の比較 ◆可読性
JSON と XML の可読性は、一方の単純な構文と他方の標準化されたタグ形式を区別するのは困難です。
◆拡張性
XML は本質的に非常にスケーラブルであり、JSON には確かにそれが備わっています。XML で拡張できて JSON で拡張できないものはありません。ただし、JSON は Javascript と相性が良く、JavaScript 複合オブジェクト を保存できるため、xml とは比較にならない利点があります。 ◆コーディングの難しさ
XMLにはDom4j、JDomなどのコーディングツールが豊富にあり、JSONにもツールが用意されています。ツールがなければ、熟練した開発者であれば目的の XML ドキュメントと JSON
文字列 をすぐに作成できると思います。ただし、XML ドキュメントにはさらに多くの構造文字が必要です。 ◆デコードの難しさ
XML を解析するには 2 つの方法があります:
1 つは、ドキュメント
モデル を通して解析する方法、つまり、親タグ インデックス を通してタグのセットを生成する方法です。 例: xmlData.getElementsByTagName_r("tagName") ただし、これはドキュメント構造が事前にわかっており、普遍的にカプセル化できない場合に使用する必要があります。
別の方法は、ノード (
document と childNodes) をトラバースすることです。これは再帰によって実現できますが、解析されたデータは依然として異なる形式であり、多くの場合、既存の要件を満たせません。 このようなスケーラブルな構造化データは解析が非常に難しいはずです。
JSON にも同じことが当てはまります。 JSON 構造を事前に知っていれば、データ転送に JSON を使用すると、非常に実用的で美しく読みやすいコードを作成できます。あなたが純粋なフロントエンド開発者であれば、間違いなく JSON をとても気に入るはずです。しかし、あなたがアプリケーション開発者であれば、それはあまり好きではありません。結局のところ、xml はデータ転送に使用される実際の構造化マークアップ言語です。
そして、JSON の構造を知らずに JSON を解析するのは悪夢でしょう。時間と労力がかかるだけでなく、コードが冗長で長引き、得られる結果も満足のいくものとはなりません。しかし、これは JSON を選択する多くのフロントエンド開発者には影響しません。 json.jsのtoJSONString()でJSONの文字列構造が見えるからです。もちろんこの文字列は使用しませんが、それでも悪夢です。 JSON をよく使う人はこの文字列を見れば JSON の構造がよく分かり、JSON の操作が容易になります。
上記はJavaScriptでのデータ送信のみのxmlとJSONの解析です。 Javascript の分野では、結局のところ JSON が本場であり、その利点はもちろん XML よりもはるかに優れています。 Javascript 複合オブジェクトが JSON に格納され、その構造が不明であれば、多くのプログラマーも JSON を解析するときに泣くことになると思います。
◆比較例
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表示如下: { name:"中国", province:[ { name:"黑龙江", citys:{ city:["哈尔滨","大庆"] } }, { name:"广东", citys:{ city:["广州","深圳","珠海"] } }, { name:"台湾", citys:{ city:["台北","高雄"] } }, { name:"新疆", citys:{ city:["乌鲁木齐"] } } ] }
以上がjsonデータ形式とxmlデータ形式の違いや使い方を詳しく紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。