2016-08-23 5 views
0

Imリクエストにajaxを使用しています。要求の一部として、私は入れ子にされたjsonにあるIDを取得します。これと同じように:変数を '。'でエスケープする方法jquery/javascriptで?

{"id": 1,"point": ["2016-10-13 09:05:53",85],"id": 1,"point": ["2016-10-13 09:05:53",85]} 

私は、すべてのデータを取得するためにforEachループを使用します。

success: function(data) { 
      data.forEach(function(chartData) { 
       var series = window.chart1.series[0], 
      }); 
     }, 

私は、変数として、JSONにそのIDを使用します。これまで私が試してみた:

var series = window.chart+chartData.id+.series[0] 

が、私はエラーを取得:

Uncaught TypeError: Cannot read property '0' of undefined 

ときI入力に直接ID:

var series = window.chart1.series[0], 

それはどんな問題なく動作し、私はコンソールの場合.log(chartData.id)私は正しいID 1を取得します。

jsonのネストされたIDを変数として使用するにはどうすればよいですか?

+0

値が割り当てられる前に、おそらく 'window.chart1'変数を使用しています。 「非同期呼び出しからの応答を返すにはどうすればよいですか?」(http://stackoverflow.com/questions/14220321/how-do-i-return-the-response-from-an-asynchronous-call)を参照してください。 – Tushar

答えて

1

[]構文にアクセスするプロパティを使用できます。式を評価し、値を[]に戻します。

var series = window['chart' + chartData.id].series[0]; 
+0

ありがとうあなたの答え。 'Uncaught TypeError:未定義のプロパティ '0'を読み取れません。 ' – kevinabraham

+0

@kevinabraham申し訳ありません。私は答えを編集しました。 –

+0

働いてくれてありがとう@ suren-srapyan! :)。それができるようになるとすぐに受け入れます。 – kevinabraham

関連する問題