2017-08-04 9 views
0

私はJSONとAJAXの初心者です。私は配列から特定の値を取得するために解析したいJSONデータオブジェクトを持つこのPHPファイルを持っています。 たとえば、私はID = "almCrit" を取得したい:ここJSONデータオブジェクトからAJAXで特定の値を取得する方法がわかりません

は私のJSONのObjです:

$currentArrayData['configAlm'] = array(
    array('blocName' => 'blockAlarmeContent',  'blocLVTwoName' => 'boxLV2Content', 'label' => 'Criticité',   'id' => 'almCrit'), 
    array('blocName' => 'blockAlarmeContent', 'blocLVTwoName' => 'boxLV2Content', 'label' => 'Sans supervision', 'id' => 'almSansSup'), 
    array('blocName' => 'blockAlarmeContent', 'blocLVTwoName' => 'boxLV2Content', 'label' => 'Non nominale',  'id' => 'almNonNom) 
); 

、ここでは私がしようとしたものです:

$.ajax({ 
    url: 'Pages/index.php', 
    type: 'get', 
    dataType: 'json', 
    data: 'action=loadBlocSite', 
    success:function(data){     
     arrayOfData = data;   
     currentValue = arrayOfData;       
     $.each(arrayOfData['configAlm'], function(currentIdx, currentValue){ 
      console.log('alarme : '+ arrayOfData['configAlm']); 
     });     
    } 
}); 

console.log('alarme : '+ arrayOfData['configAlm']);出力: -

alarme:[オブジェクトオブジェクト]、[オブジェクトオブジェクト]、[オブジェクトオブジェクト]

私はこのconsole.log('alarme : '+ arrayOfData['configAlm'].id);を試みたが、誰かが私にはそれがどのように動作するかを見つけ出す助けてください、それは私に

未定義

を与える最初の[object Object]

のIDを取得したいです?あなたは

答えて

0

このありがとう: -

$.each(arrayOfData['configAlm'], function(currentIdx, currentValue){ 
    console.log('alarme : '+ arrayOfData['configAlm']); 
}); 

する必要があります -

$.each(arrayOfData['configAlm'], function(currentIdx, currentValue){ 
    console.log('Id : '+ currentValue.id); 
}); 

あなたはいくつかの条件チェックを適用する場合がありcurrentValue

を使用する必要がありますあなたは以下のようなことをすることができます: -

あなたはここで何をしているか実際に
$.each(arrayOfData['configAlm'], function(currentIdx, currentValue){ 
    if(currentValue.id =="almCrit"){ 
    return false; // Will stop iteration immediately when id==almCrit 
    } 
}); 
+1

ありがとうございましたあなたが代わりにarrayOfDatacurrentValue内容をログに記録する必要がある

これは私が解決策を見つけようとしていたときにしたものですが、私の場合はforループ+条件が同じなら、この1つを試してみます – Zee

+0

あなたの助けと説明に感謝してくれます。物事を理解する多くの.. th条件が成立すればe。私はid = 'almCrit'をクリックするたびに古いものをクリアして新しいものを表示しないので、 '$( 'boxLV2Content')。empty();'を入れます。それは...空()は仕事をしないが、それは大きな問題ではありません..再びありがとう:) – Zee

+0

@ジネブはあなたを助けてうれしい:) :) –

2

あなたは.eachの各反復でarrayを印刷している、とあなたはarrayidプロパティにアクセスしようとしていたということです。

$.each(arrayOfData['configAlm'], function(currentIdx, currentValue){ 
    console.log('blocName Id: '+ currentValue['blocName'].id); 
}); 

、より良いあなたはこのような配列の全体反復要素を印刷することができるものをここで起こって参照してください:

$.each(arrayOfData['configAlm'], function(currentIdx, currentValue){ 
    console.log(JSON.stringify(currentValue)); 
}); 
関連する問題