2011-07-15 7 views
2

オブジェクト:JSONデータアクセスは、私は、次のJSONは、AJAX呼び出しから返されてい

{"rows":[{"Date":"07/10/2011","Value":1206,"Action":"Drink"},  
{"Date":"07/11/2011","Value":2288,"Action":"Pie"}, 
{"Date":"07/12/2011","Value":1070,"Action":"Drink"}, 
{"Date":"07/13/2011","Value":1535,"Action":"Beer"}, 
{"Date":"07/14/2011","Value":1721,"Action":"Drink"}], 
"page":1,"total":1,"records":5} 

は、どのように私はjQueryのを使用して、この結果から値を得ることができますか?例えば

、私は最初の行のデータ要素を取得したいのですが:

json.rows[0].date = 07/10/2011 
json.rows[0].value = 1206 

答えて

3

これを行うには、いくつかの方法がありますが、あなたはevalの()はevalの()は、一般的に悪と考えられているを使用することができ、プラスJSONはJavaScriptコードで規定するデータと同じ正確ではありません。私はちょうどjqueryがparseJSON関数を持っていることを私に思い出させた。

http://api.jquery.com/jQuery.parseJSON/

しかし、あなたは、AJAX(かなり人気)のためのjQueryを使用している場合、あなたはJSONにデータ型を設定することができ、これはあなたのためにそれを行います。

$.ajax(
    { 
      url: "/map", // should return JSON 
      dataType: 'json', 
      cache: false, 
      data: {}, 
      success: function(response) 
      { 
       // response is an object 

       alert(response.rows[0].Date); 

       cook(response); 
      } 
    }); 
+0

応答に感謝します。私はAJAXを使用しようとしていますが、オブジェクトとして各行のデータを実際に取得する方法は不思議です。すなわち、上記のデータが 'response'の場合、単に' var obj = response; 'を実行してから' obj.rows [0] .Date'を使用しますか? – Tom

+0

はい、私はそう思います、私は私の答えを更新しました、私はあなたが問題を解決するのに役立つことを願っています。 –

0
+0

返信ありがとうございます。少しこれを使用する方法を混乱させる?つまり、上記のデータが 'data'の場合、単に' var obj = $ .parseJSON(data); 'を実行し、' obj.rows [0] .data'を使用しますか? – Tom

+0

'$ .parseJSON'についてはわかりませんが、これはかなりうまくいきます:' var obj = jQuery.parseJSON(yourData);警告(obj.rows [0]。日付); ' – bezmax

+0

ありがとう - 各行にまたがって繰り返しますか?つまり、データの各部分を取得することができます。これはどのように行うのですか? – Tom

関連する問題