『JSON中国語マニュアル』では、 JSON: JavaScript Object Notation (JavaScript Object Notation) JSON は、テキスト情報を保存および交換するための構文です。 XML に似ています。 JSON は XML よりも小さく、高速で、解析が簡単です。
JSON (JavaScript Object Notation、JS Object Notation) は軽量のデータ交換形式です。これは ECMAScript (欧州コンピュータ協会によって開発された js 仕様) のサブセットに基づいており、データの保存と表現にプログラミング言語から完全に独立したテキスト形式を使用します。シンプルさと明確な階層構造により、JSON は理想的なデータ交換言語となります。人にとっては読み書きが容易であり、機械にとっても解析と生成が容易であり、ネットワーク伝送効率を効果的に向上させます。
JSON (JavaScript Object Notation) は軽量のデータ交換形式です。人間にとって読み書きしやすい。機械による解析と生成も簡単です。これは、標準 ECMA-262 第 3 版 (1999 年 12 月) のサブセットである JavaScript プログラミング言語に基づいています。 JSON は、Douglas Crockford が 2001 年に推進し始めたデータ形式です。これは、2005 年から 2006 年にかけて正式に主流のデータ形式になりました。Yahoo と Google が JSON 形式を広範囲に使用し始めたのはその時でした。 最初の json インスタンスを体験してみましょう! 最初の JSON インスタンスヒント: JSON の学習を始める前に、javascript 、AJAX 、jQuery## について理解しておく必要があります。 # 知識には基本的な理解があります。
<!DOCTYPE html> <html> <body> <h2>JSON Object Creation in JavaScript</h2> <p> Name: <span id="jname"></span><br /> Age: <span id="jage"></span><br /> Address: <span id="jstreet"></span><br /> Phone: <span id="jphone"></span><br /> </p> <script> var JSONObject= { "name":"John Johnson", "street":"Oslo West 555", "age":33, "phone":"555 1234567"}; document.getElementById("jname").innerHTML=JSONObject.name document.getElementById("jage").innerHTML=JSONObject.age document.getElementById("jstreet").innerHTML=JSONObject.street document.getElementById("jphone").innerHTML=JSONObject.phone </script> </body> </html>
インスタンスの実行>>[インスタンスの実行] をクリックします。オンラインの例を表示するボタン
ヒント: JSON チュートリアルは、初心者から上級者まで JSON の知識を学ぶのに役立ちます。ご質問がある場合は、PHP 中国語 Web サイト JSON Community にアクセスして質問してください。熱心なネチズンが答えてくれます。
JSON と XML の比較
可読性
JSON と XML の可読性は比較すると大きく異なります、一方は単純な構文を持ち、もう一方は標準化されたタグ形式を持っているため、勝者を区別するのは困難です。
拡張性
XML はもともと非常にスケーラブルであり、JSON にもそれが備わっています。XML で拡張できて JSON で拡張できないものは何もありません。ただし、JSON は Javascript によく使用され、JavaScript 複合オブジェクトを格納できるため、xml とは比較にならない利点があります。
コーディングの難易度
XML には Dom4j、Dom、SAX などのコーディング ツールが豊富にあり、JSON にもツールが用意されています。 。ツールがなければ、熟練した開発者であれば目的の XML ドキュメントと JSON 文字列をすぐに作成できると思いますが、XML ドキュメントにはさらに多くの構造文字が必要です。
デコードの難しさ
XML を解析するには 2 つの方法があります:
1 つはドキュメント モデルを解析する方法です。親タグはタグのセットをインデックス付けします。例: xmlData.getElementsByTagName("tagName") ただし、これはドキュメント構造が事前にわかっており、普遍的にカプセル化できない場合に使用する必要があります。
もう 1 つの方法は、ノード (ドキュメントと子ノード) をトラバースすることです。これは再帰によって実現できますが、解析されたデータは依然として異なる形式であり、多くの場合、既存の要件を満たせません。
このような拡張可能な構造化データは、解析が非常に難しいはずです。
JSON についても同じことが当てはまります。 JSON の構造を事前に知っていれば、データ転送に JSON を使用することは非常に素晴らしく、非常に実用的で美しく、読みやすいコードを書くことができます。あなたが純粋なフロントエンド開発者であれば、間違いなく JSON をとても気に入るはずです。しかし、アプリケーション開発者であれば、XML はデータ転送に使用される実際の構造化マークアップ言語であるため、あまり好きではありません。
そして、JSON の構造を知らずに JSON を解析すると、それは悪夢になるでしょう。時間と労力がかかるだけでなく、コードが冗長で長引き、得られる結果も満足のいくものとはなりません。しかし、これは JSON を選択する多くのフロントエンド開発者には影響しません。 json.jsのtoJSONString()でJSONの文字列構造が見えるからです。もちろん、この文字列をあまり使用しない人にとって、使用することは依然として悪夢です。 JSON をよく使う人はこの文字列を見れば JSON の構造がよく分かり、JSON の操作が容易になります。
上記はJavaScriptでのデータ送信のみのxmlとJSONの解析です。 Javascript の分野では、結局のところ JSON が本場であり、その利点はもちろん XML よりもはるかに優れています。 Javascript 複合オブジェクトが JSON に格納され、その構造が不明であれば、多くのプログラマーも JSON を解析するときに泣くことになると思います。
上記に加えて、JSON と XML のもう 1 つの大きな違いは、実効データ レートです。 JSON は、データ パケット形式として送信するとより効率的です。これは、JSON が XML のような厳密な終了タグを必要としないためで、これにより、総データ パケットに対する有効データ量の比率が大幅に増加し、同じデータ トラフィックが発生する状況が軽減されます。ネットワークの送信圧力。
JSON の長所と短所:
長所:
データ形式は比較的シンプルで読み書きが簡単で、形式は圧縮されています。帯域幅もほとんど消費しません;
解析が簡単で、クライアント側の JavaScript は eval() を通じて JSON データを読み取ることができます;
サポートActionScript、C、C#、ColdFusion、Java、JavaScript、Perl、PHP、Python、Ruby、その他のサーバーサイド言語を含む複数の言語により、サーバーサイドの解析が容易になります。 PHP の世界では、すでに PHP-JSON が存在します。また、PHP シリアル化されたプログラムを直接呼び出すことを好む JSON-PHP が登場しました。PHP サーバー側のオブジェクト、配列などは、クライアントのアクセスと抽出を容易にするために JSON 形式を直接生成できます。
JSON 形式はサーバー側のコードで直接使用できるため、サーバー側とクライアント側のコード開発が大幅に簡素化され、同じタスクを実行でき、保守も簡単です。
欠点:
これは、XML 形式ほど人気がなく、広く使用されておらず、XML ほど汎用性が高くありません。
- Web サービスにおける JSON 形式の推進はまだ初期段階にあります。
- この JSON チュートリアル マニュアルの内容この JSON チュートリアルでは、JSON 形式、JSON 解析、JSON トラバーサル、JSON 呼び出し、 JSON変換、JSON取得、JSON文字列、JSON配列など
このチュートリアルの各章には、多くの JSON サンプルが含まれています。[サンプルの実行] ボタンを直接クリックすると、結果をオンラインで表示できます。これらの例は、JSON をより深く理解し、使用するのに役立ちます。
最新章
関連コース
- Web フロントエンド開発の簡単な紹介 2021-12-10
- あなたを最もよく理解するフロントエンドコース: HTML5/CSS3/ES6/NPM/Vue/...[オリジナル] 2022-09-30
- Gulp 入門ビデオチュートリアル 2022-04-18
- Brothers in Arms Gao Luofeng CSS3 ビデオ チュートリアル 2022-04-20
- AngularJS 開発 Web アプリケーションの基本的なサンプル ビデオ チュートリアル 2022-04-18
- アヤックスのフルコンタクト 2022-04-13
- MUI フレームワークの基本的なビデオ チュートリアル 2022-04-13
- オンライントレーニングクラス体験クラス 2019-01-10