ホームページ ウェブフロントエンド jsチュートリアル jQuery の Json 解析の詳しい説明 example_jquery

jQuery の Json 解析の詳しい説明 example_jquery

May 16, 2016 pm 03:30 PM

この記事の例では、jQuery が Json を解析する方法について説明します。参考までに皆さんにも共有してください。詳細は以下の通りです:

はじめに

WEBデータ送信の過程で、jsonはテキスト形式で送信されますが、つまり、 string の軽量形式であり、クライアントは通常、JS を使用して受信した JSON オブジェクトを操作するため、重要なのは JSON オブジェクトと JSON 文字列の間の変換と JSON データの解析です。

まず 2 つの概念を明確にします。例:

JSON 文字列:

コードをコピーします コードは次のとおりです。以下:

var str1 = '{ "name": "deyuyi", "sex": "man" }';
ログイン後にコピー

JSON オブジェクト:

コードをコピー コードは次のとおりです:

var str2 = { "name": "deluyi", "sex": "man" };
ログイン後にコピー

これは次のように簡単に理解できます:

JSON オブジェクトは JQuery で直接操作できる形式であり、C# と同じようにオブジェクト (クラス名) を使用して属性を指定できます (メソッド);

JSON 文字列は単なる文字列であり、インターセプトしないと、alert() を実行する場合を除き、そこに保存されているデータを直接使用することはできません。 🎜>

1. JSON 文字列を JSON オブジェクトに変換します

上記の str1 を使用するには、まず次のメソッドを使用して JSON オブジェクトに変換する必要があります:

A: eval 関数

eval 関数は、次のようなメソッドを使用して、JSON 形式に本質的に準拠する、またはほぼ準拠する文字列を JSON オブジェクトに直接変換できます。 eval('(' str ')'); // str はこのタイトルの説明を満たす文字列です


//由JSON字符串转换为JSON对象
var str='{ "name": "John" }';
var obj = eval('(' + str + ')'); 
alert( obj.name);
var str2="{ 'name': 'John' }";
var obj2 = eval('(' + str2 + ')'); 
alert( obj2.name);
var str3="{ name: 'John' }";
var obj3 = eval('(' + str3 + ')'); 
alert( obj3.name);
ログイン後にコピー

上記は結果「john」を出力します。

Eval メソッドは、次の標準および非標準の形式文字列を変換できます:


var str="{ 'name': 'John' }";
var str2='{ "name": "John" }';
var str3="{ name: 'John' }";
ログイン後にコピー

この例を参照ダウンロード パッケージ内: JqueryDemo1.html

B: parseJSON 関数

標準文字列を JSON オブジェクトに変換するもう 1 つの関数は parseJSON() で、jQuery .parseJSON( と同様に使用されます) str)//str はこのタイトルの説明を満たす文字列です


//由JSON字符串转换为JSON对象
var str='{ "name": "John" }';
var obj = jQuery.parseJSON(str)
alert("1"+ obj.name);
ログイン後にコピー

上記の結果が出力されます。 「ジョン」。

このメソッドは標準形式のみをサポートしています: var str='{ "name": "John" }';

この例のダウンロード パッケージを参照してください: JqueryDemo2.html

C: JSON.parse 関数

標準文字列を JSON オブジェクトに変換する関数 JSON.parse() もあり、これは JSON.parse(str) として使用できます。 // ここで、 str はこのタイトルの説明を満たす文字列です


var str = '{ "name": "mady", "age": "24" }';
var obj = JSON.parse(str);
alert(obj.name);
ログイン後にコピー

上記のすべては結果を出力します。ジョン」。

このメソッドは標準形式のみをサポートしています: var str='{ "name": "John" }';

この例のダウンロード パッケージを参照してください: JqueryDemo3.html

上記の結果は一貫しており、以下に示すようにすべての名前が出力されます:

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

D: 他の方法

どうしても間違いを犯したくない場合は、次のような非標準および不規則な文字列を解析する必要があります。


コードをコピー

コードは次のとおりです: または

{name:mady,age:23}
ログイン後にコピー


コードをコピー

コードは次のとおりです: およびその他の考えられる本質的に正しい不正な形式であれば、それを解決できる拡張ライブラリがあります

{name:'mady',age:23}
ログイン後にコピー

jquery-json 拡張ライブラリ

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

このライブラリは jQuery を拡張するために使用され、JSON を使用するために 2 つの関数が拡張されました: toJSON と parseJSONtoJSON 関数は通常の JavaScript オブジェクトを JSON にシリアル化するために使用されます物体。

parseJSON 関数は、通常の JavaScript オブジェクトを JSON オブジェクトにシリアル化するためにも使用されます。



var data=$.toJSON({ x: 2, y: 3 }); 
var obj = jQuery.parseJSON(data); 
alert(obj.x); 
var str = {plugin: 'jquery-json', version: 2.3}; 
var data2=$.toJSON(str); 
var obj2 = jQuery.parseJSON(data2); 
alert(obj2.plugin);
ログイン後にコピー
上記のコードの実行結果は次のとおりです。


この例のダウンロード パッケージを参照してください: JqueryDemo5.html

2. JSON オブジェクトを文字列に変換します

toJSONString() を使用できます。またはグローバル メソッド JSON.stringify( ) JSON オブジェクトを JSON 文字列に変換します。 例:



コード

をコピーします。 コードは次のとおりです: または

var last=obj.toJSONString(); //将JSON对象转化为JSON字符
ログイン後にコピー



三、解析读取JSON

我们通过各种方式将字符串转换为JSON对象后就是解析他了。
如上面的例子:

复制代码 代码如下:

var str2 = { "name": "mady", "sex": "man" };
ログイン後にコピー

就可以这样读取:

复制代码 代码如下:

alert(str2.name);//和C#一样直接往出点…
ログイン後にコピー

弹出” mady”。
我们遇到的JSON很少有这么简单的,比如复杂一点的JSON对象如:

复制代码 代码如下:

var str={"GetUserPostByIdResult":{"Age":"33","ID":"2server","Name":"mady"}};
ログイン後にコピー

解析用:

      alert(str.GetUserPostByIdResult.Name);//一次点不出来,我多点几次
ログイン後にコピー

再再复杂一点的如:

复制代码 代码如下:

var data=" { root: [ {'name':'6200','value':'0'}, {'name':'6101','value':'xa'}, 
{'name':'6102','value':'beijing'}, {'name':'6103','value':'haerbin'}]}";
ログイン後にコピー


如果你想单挑的话,解析用:

复制代码 代码如下:

alert(dataObj.root[0].name);
ログイン後にコピー

弹出:“6200”。

如果你想群挑的话,解析用:


$.each(dataObj.root, function(index, item) {
  $("#info").append(
      "" +index+":"+ item.name + "" + 
      "" +index+":"+ item.value + "");
});
ログイン後にコピー


其中这个“#info”是个DIV的ID。输入结果如下图:

 

参见本例下载包中:JqueryDemo4.html

注意:本例如果要使用其他转换函数请更改字符串内单引号为双引号,外引号为单引号。
本文完整实例代码代码点击此处本站下载

以上就是jQuery解析Json实例详解_jquery的内容,更多相关内容请关注PHP中文网(www.php.cn)!


このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

jQueryのリファレンスメソッドを詳しく解説:クイックスタートガイド jQueryのリファレンスメソッドを詳しく解説:クイックスタートガイド Feb 27, 2024 pm 06:45 PM

jQuery 参照方法の詳細説明: クイック スタート ガイド jQuery は、Web サイト開発で広く使用されている人気のある JavaScript ライブラリであり、JavaScript プログラミングを簡素化し、開発者に豊富な機能を提供します。この記事では、jQuery の参照方法を詳しく紹介し、読者がすぐに使い始めるのに役立つ具体的なコード例を示します。 jQuery の導入 まず、HTML ファイルに jQuery ライブラリを導入する必要があります。 CDN リンクを通じて導入することも、ダウンロードすることもできます

jQueryでPUTリクエストメソッドを使用するにはどうすればよいですか? jQueryでPUTリクエストメソッドを使用するにはどうすればよいですか? Feb 28, 2024 pm 03:12 PM

jQueryでPUTリクエストメソッドを使用するにはどうすればよいですか? jQuery で PUT リクエストを送信する方法は、他のタイプのリクエストを送信する方法と似ていますが、いくつかの詳細とパラメータ設定に注意する必要があります。 PUT リクエストは通常​​、データベース内のデータの更新やサーバー上のファイルの更新など、リソースを更新するために使用されます。以下は、jQuery の PUT リクエスト メソッドを使用した具体的なコード例です。まず、jQuery ライブラリ ファイルが含まれていることを確認してから、$.ajax({u

徹底した分析: jQuery の長所と短所 徹底した分析: jQuery の長所と短所 Feb 27, 2024 pm 05:18 PM

jQuery は、フロントエンド開発で広く使用されている高速、小型、機能豊富な JavaScript ライブラリです。 2006 年のリリース以来、jQuery は多くの開発者にとって最適なツールの 1 つとなっていますが、実際のアプリケーションでは、いくつかの利点と欠点もあります。この記事では、jQuery の長所と短所を詳しく分析し、具体的なコード例で説明します。利点: 1. 簡潔な構文 jQuery の構文設計は簡潔かつ明確であるため、コードの読みやすさと記述効率が大幅に向上します。例えば、

jQueryで要素の高さ属性を削除するにはどうすればよいですか? jQueryで要素の高さ属性を削除するにはどうすればよいですか? Feb 28, 2024 am 08:39 AM

jQueryで要素の高さ属性を削除するにはどうすればよいですか?フロントエンド開発では、要素の高さ属性を操作する必要が生じることがよくあります。要素の高さを動的に変更する必要がある場合や、要素の高さ属性を削除する必要がある場合があります。この記事では、jQuery を使用して要素の高さ属性を削除する方法と、具体的なコード例を紹介します。 jQuery を使用して高さ属性を操作する前に、まず CSS の高さ属性を理解する必要があります。 height 属性は要素の高さを設定するために使用されます

jQuery のヒント: ページ上のすべての a タグのテキストをすばやく変更する jQuery のヒント: ページ上のすべての a タグのテキストをすばやく変更する Feb 28, 2024 pm 09:06 PM

タイトル: jQuery ヒント: ページ上のすべての a タグのテキストをすばやく変更する Web 開発では、ページ上の要素を変更したり操作したりする必要がよくあります。 jQuery を使用する場合、ページ内のすべての a タグのテキスト コンテンツを一度に変更する必要がある場合があります。これにより、時間と労力を節約できます。以下では、jQuery を使用してページ上のすべての a タグのテキストをすばやく変更する方法と、具体的なコード例を紹介します。まず、jQuery ライブラリ ファイルを導入し、次のコードがページに導入されていることを確認する必要があります: &lt

jQuery を使用してすべての a タグのテキスト コンテンツを変更する jQuery を使用してすべての a タグのテキスト コンテンツを変更する Feb 28, 2024 pm 05:42 PM

タイトル: jQuery を使用して、すべての a タグのテキスト コンテンツを変更します。 jQuery は、DOM 操作を処理するために広く使用されている人気のある JavaScript ライブラリです。 Web 開発では、ページ上のリンク タグ (タグ) のテキスト コンテンツを変更する必要が生じることがよくあります。この記事では、この目標を達成するために jQuery を使用する方法を説明し、具体的なコード例を示します。まず、jQuery ライブラリをページに導入する必要があります。 HTML ファイルに次のコードを追加します。

jQuery 要素に特定の属性があるかどうかを確認するにはどうすればよいですか? jQuery 要素に特定の属性があるかどうかを確認するにはどうすればよいですか? Feb 29, 2024 am 09:03 AM

jQuery 要素に特定の属性があるかどうかを確認するにはどうすればよいですか? jQuery を使用して DOM 要素を操作する場合、要素に特定の属性があるかどうかを判断する必要がある状況がよく発生します。この場合、jQuery が提供するメソッドを使用してこの関数を簡単に実装できます。以下では、jQuery 要素が特定の属性を持つかどうかを判断するために一般的に使用される 2 つの方法を紹介し、具体的なコード例を添付します。方法 1: attr() メソッドと typeof 演算子 // を使用して、要素に特定の属性があるかどうかを判断します

jQuery における eq の役割と応用シナリオを理解する jQuery における eq の役割と応用シナリオを理解する Feb 28, 2024 pm 01:15 PM

jQuery は、Web ページでの DOM 操作やイベント処理を処理するために広く使用されている人気のある JavaScript ライブラリです。 jQueryではeq()メソッドを利用して指定したインデックス位置の要素を選択しますが、具体的な使い方と応用シーンは以下の通りです。 jQuery では、 eq() メソッドは、指定されたインデックス位置にある要素を選択します。インデックス位置は 0 からカウントされます。つまり、最初の要素のインデックスは 0、2 番目の要素のインデックスは 1 などとなります。 eq() メソッドの構文は次のとおりです。 $("s

See all articles