我是JSON和AJAX的初学者。我有这个PHP文件与JSON数据对象,我想解析以从数组中获取特定的值。 例如,我想得到ID =" almCrit" :
这是我的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:[object Object],[object Object],[object Object]
我想获取第一个[object Object]
我试过这个console.log('alarme : '+ arrayOfData['configAlm'].id);
,但它给了我
未定义
有人可以帮我弄清楚它是如何工作的吗?谢谢
答案 0 :(得分:2)
实际上你在这里做的是你在array
的每次迭代中打印.each
,并且你试图访问{{1}的id
属性}}
您需要记录array
个内容而不是currentValue
:
arrayOfData
为了更好地了解这里发生了什么,你可以像这样打印数组的整个迭代元素:
$.each(arrayOfData['configAlm'], function(currentIdx, currentValue){
console.log('blocName Id: '+ currentValue['blocName'].id);
});
答案 1 :(得分: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
}
});