ホームページ  >  記事  >  ウェブフロントエンド  >  jquery_jquery で JSON を解析する方法

jquery_jquery で JSON を解析する方法

WBOY
WBOYオリジナル
2016-05-16 16:09:201203ブラウズ

私たちが考慮しているのは、サーバーが JSON 形式で文字列を返すということです。JSONObject などのプラグインによってカプセル化された JSON オブジェクトについても同様であり、ここでは説明しません。

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

var data="
{
ルート:
[
{名前:'1'、値:'0'}、
{名前:'6101',値:'西安市'}、
{name:'6102',value:'通川市'}、
{名前:'6103',値:'宝鶏市'}、
{名前:'6104',値:'咸陽市'}、
{name:'6105',value:'渭南市'}、
{name:'6106',value:'延安市'}、
{名前:'6107',値:'漢中市'}、
{名前:'6108',値:'楡林市'}、
{name:'6109',value:'安康市'}、
{名前:'6110',値:'商洛市'}
]
}";

jqueryで非同期に取得するデータ型、jsonオブジェクトと文字列をベースに、2通りの方法で得られた結果の処理方法を紹介します。

1. サーバーから返される JSON 文字列について、jquery 非同期リクエストに型の説明がない場合、または文字列として受け入れられる場合、メソッドはそれほど面倒ではありません。 eval()に文字列を入れると1回実行されます。このメソッドは、通常の javascipt を使用して json オブジェクトを取得する場合にも適しています。次に例を示します。

コードをコピーします コードは次のとおりです:
var dataObj=eval("(" data ")");//json オブジェクトに変換
alert(dataObj.root.length);//ルートのサブオブジェクトの数を出力
$.each(dataObj.root,fucntion(idx,item){
if(idx==0){
true を返します。
}
//各ルート サブオブジェクトの名前と値を出力します
alert("名前:"項目.名前",値:"項目.値); })


注: 一般的な js で json オブジェクトを生成するには、$.each() メソッドを for ステートメントに置き換えるだけで済み、その他は変更されません。

2. サーバーから返される JSON 文字列の場合、jquery 非同期リクエストがタイプ (通常はこの構成属性) を「json」に設定するか、$.getJSON() メソッドを使用してサーバーからの戻り値を取得する場合、 eval() メソッドを使用する必要はありません。この時点で取得される結果はすでに json オブジェクトであるため、オブジェクトを直接呼び出すだけで済みます。ここでは、データ処理メソッドを説明するための例として $.getJSON メソッドが使用されています。

コードをコピーします コードは次のとおりです:
$.getJSON("
http://user.qzone.qq.com/2227211070",{param:"gaoyusi"},function(data
){ //ここで返されるデータはすでに json オブジェクトです //以下のその他の操作は最初のケースと同じです
$.each(data.root,function(idx,item){
if(idx==0){
return true;//countinue と同じ、break
と同じ false を返す }
alert("name:" item.name ",value:" item.value);
});
});


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