使用jQueryのJSONの構文解析の基礎

序文

、JSONオブジェクトとJSON文字列をウェブデータ伝送において、JSONはテキストとして、すなわち、文字列が軽量渡され、クライアントは、典型的には、JSで動作するように互いの間で、JSONオブジェクトを受信しました変換は、JSONデータを解析することが鍵です。

最初の明確な二つの概念のような:

JSON文字列:

VaRのSTR1 = '{ "名": "deyuyi"、 "セックス": "男"}';

JSONオブジェクト:

VAR STR2 = { "名": "deluyi"、 "セックス": "男"};

 

それは単に理解することができます。

JSON形式のオブジェクトは、プロパティ(方法)同じアウトC#オブジェクト(クラス名)ポイントで使用することができるように、直接jQueryの操作を使用することができます。

JSON文字列は、あなただけのアラートにしたい場合を除き、全体として、(彼を)、そして、そこに格納されたデータを削除する方法を取っていないされていない直接使用することはできません単なる文字列です。

 

A、JSONオブジェクトにJSON文字列

 

上記STR1を使用するには、JSONオブジェクトに変換するには、以下のメソッドを使用します。

 

A:evalの機能

評価関数実質的に沿って又は直接ような手段を用いて、JSONオブジェクトとほぼ合致ストリングJSON形式を変換することができます。

evalの(「(」STR + +「)」) ; // strの満足タイトルに記載した文字列があります

コードをコピー

    JSONオブジェクトに//文字列をJSON
    するvar strの= '{ "名": "ジョン"}'; 
    VAR OBJ =のeval( '(' + STR + ')'); 
    警告(obj.name)。

    VaRのSTR2 = "{ '名前': 'ジョン'}"; 
    VAR obj2が=のeval( '(' + STR2 + ')'); 
    警告(obj2.name)。

    VaRのSTR3 = "{名: 'ジョン'}"; 
    VAR OBJ3 =のeval( '(' + STR3 + ')'); 
    警告(obj3.name)。

コードをコピー

上記の意志出力「ジョン」。

評価の実施形態は、標準および非標準形式の文字列を変換することができます:

コードをコピー

   するvar strが= "{ '名前': 'ジョン'}"; 
   VaRのSTR2 = '{ "名": "ジョン"}'; 
   VaRのSTR3 = "{名: 'ジョン'}";

コードをコピー

JqueryDemo1.html:本実施形態のダウンロードパッケージを参照すると、

 

B:parseJSON機能

JSONオブジェクト関数に別の標準的な文字列がparseJSON(ある)、などの手段用いjQuery.parseJSON(STR)文字列を満たすタイトル記述である// STRを

コードをコピー

    JSONオブジェクトに//文字列をJSON
    するvar strの= '{ "名": "ジョン"}'; 
    VAR OBJ = jQuery.parseJSON(STR)
    警告( "1" + obj.name)。

コードをコピー

上記の意志出力「ジョン」。

この実施形態は、標準フォーマットをサポートしています。var strの=「{ 『名』: 『ジョン』}」;

JqueryDemo2.html:本実施形態のダウンロードパッケージを参照すると、

 

C:JSON.parse機能

などの手段を用いて、)JSONオブジェクト関数に標準文字列はJSON.parse(でもあるJSON.parse(STR)タイトル説明ストリングを満足である// STRを

コードをコピー

        VAR列str = '{ "名前": "mady"、 "年齢": "24"}'; 
        VAR OBJ = JSON.parse(STR)。
        警告(obj.name)。

コードをコピー

上記の意志出力「ジョン」。

この実施形態は、標準フォーマットをサポートしています。var strの=「{ 『名』: 『ジョン』}」;

JqueryDemo3.html:本実施形態のダウンロードパッケージを参照すると、

 

下に示すように、上記の結果と一致して、名前は、出力されます。

clip_image002

 

特記事項:objが常に(文法が例外をスローする)JSONオブジェクト、変換後のその後のeval()関数を使用します(でも、複数の変換)またはJSONオブジェクトあったが、parseJSON()関数は、治療後に問題が発生します使用している場合。

D:その他の方法

 

:あなたは助けることはできませんが、ミスを作りたい、などの非標準、非正式な文字列を、解決するために非常に非常にしたい場合

      {名:mady、年齢:23}

若しくは

      {名: 'mady'、年齢:23}

そして、あなたは適切なフォーマットの違法な性質のすべての種類を考えることができるので、拡張子がある他は解決することができます

jqueryの - JSON拡張ライブラリ

ダウンロードはこちら:http://code.google.com/p/jquery-json/

拡張された2つの関数の使用のためのjQuery、JSONを拡張するために使用されるライブラリ:toJSONparseJSON

toJSONの  JSONオブジェクトとしての機能は通常のJavaScriptオブジェクトの配列を決定するために使用されます。

parseJSONの機能は、JSONがあまりにもオブジェクトへの定期的なJavaScriptオブジェクトの配列を決定するために使用されます。

コードをコピー

      VARデータ= $ toJSON({x:2、及び3}); 
      VAR OBJ = jQuery.parseJSON(データ)。 
      警告(obj.x)。 
      VAR STR = {プラグイン: 'jqueryの-JSON'、バージョン:2.3}。 
      。DATA2 = $ toJSON(STR)でした。 
      OBJ2 = jQuery.parseJSON(データ2)でした。 
      警告(obj2.plugin)。

コードをコピー

上記のコードの実行結果:

画像clip_image004

JqueryDemo5.html:本実施形態のダウンロードパッケージを参照すると、

 

第二には、オブジェクトは、文字列を変換することであるJSON

あなたは使用することができますtoJSONString()またはグローバルメソッドJSON.stringify() JSON JSON文字列にオブジェクトを。

例えば:

)最後= obj.toJSONString(VAR; // JSONオブジェクト文字JSONへ

若しくは

最後= JSON.stringify(OBJ)VAR; // JSONオブジェクト文字JSONへ

警告(最後)。

第三に、JSONの解析を読みます

私たちは、JSONオブジェクトが彼の解釈にある文字列を変換するためのさまざまな方法があります。

上記の例のように:

      VAR STR2 = { "名": "mady"、 "セックス": "男"};

これは、この方法を読むことができます。

      警告(str2.name); // C#と王チュー直接ポイントとして...

ポップアップ「madyを」。

JSONは、私たちのような、少し複雑なJSONオブジェクトと同様、まれそう単純で発生しました:

      VAR STR = { "GetUserPostByIdResult":{ "年齢": "33"、 "ID": "2server"、 "名前": "mady"}}。

で解決:

      警告(str.GetUserPostByIdResult.Name); //ポイントが出てこない、私に数回以上

ポップ: "mady"。

以下のような、より複雑な集結:

コードをコピー

      VARデータ=」{ルート:[{ '名前': '6200'、 '値': '0'}、{ '名前': '6101'、 '値': 'XA'}、{ '名前':」 6102' 、 '値': '北京'}、{ '名前': '6103'、 '値': 'ハルビン'}]}」。

コードをコピー

あなたが選抜したい場合は、で解決:

      アラート(dataObj.root [0] .nameの)。

ポップ:「6200」

あなたがグループを選択する場合は、解析されて:

コードをコピー

      $ .each(dataObj.root、機能(インデックス、項目){ 
            $( "#情報")APPEND(。
                    "の<div>" +インデックス+ ":" + item.name + "</ div>の" + 
                    「<div要素>」+インデックス+ ":" + item.value + "</ div> <HR />"); 
        });

コードをコピー

どこで「#infoは」DIVのIDです。以下に示すような結果を入力します。

 

clip_image006

JqueryDemo4.html:本実施形態のダウンロードパッケージを参照すると、

注:この例の場合、文字列変換関数内の別の変更単一引用符、二重引用符、二重引用符の外側の単一引用符。

この記事のすべてのコード:ダウンロード

 

オリジナルの記事は、0を発表 ウォンの賞賛0 ビュー47

おすすめ

転載: blog.csdn.net/wchqzhy99/article/details/104046305