Javascript Can';我不知道如何使用AJAX从JSON数据对象获取特定值
我是JSON和AJAX的初学者。我有一个包含JSON数据对象的PHP文件,我想对其进行解析以从数组中获取特定值。 例如,我想要得到ID=“almCrit”: 这是我的JSON Obj:Javascript Can';我不知道如何使用AJAX从JSON数据对象获取特定值,javascript,jquery,json,ajax,Javascript,Jquery,Json,Ajax,我是JSON和AJAX的初学者。我有一个包含JSON数据对象的PHP文件,我想对其进行解析以从数组中获取特定值。 例如,我想要得到ID=“almCrit”: 这是我的JSON Obj: $currentArrayData['configAlm'] = array( array('blocName' => 'blockAlarmeContent', 'blocLVTwoName' => 'boxLV2Content', 'label' => 'Criticité',
$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'])代码>输出:-
警报:[对象对象],[对象对象对象],[对象对象对象]
我想获取第一个[object object]
我尝试了这个console.log('alarme:'+arrayOfData['configAlm'].id)代码>但它给了我
未定义
有人能帮我弄清楚它是怎么工作的吗?谢谢你这是:-
$.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
}
});
这:-
需要:-
$.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
}
});
实际上,您在这里所做的是在的每个迭代中打印数组
。每个
,并且您试图访问数组
的id
属性
您需要记录currentValue
内容,而不是arrayOfData
:
$.each(arrayOfData['configAlm'], function(currentIdx, currentValue){
console.log('blocName Id: '+ currentValue['blocName'].id);
});
为了更好地了解这里发生了什么,您可以像下面这样打印数组的整个迭代元素:
$.each(arrayOfData['configAlm'], function(currentIdx, currentValue){
console.log(JSON.stringify(currentValue));
});
实际上,您在这里所做的是在的每个迭代中打印数组
。每个
,并且您试图访问数组
的id
属性
您需要记录currentValue
内容,而不是arrayOfData
:
$.each(arrayOfData['configAlm'], function(currentIdx, currentValue){
console.log('blocName Id: '+ currentValue['blocName'].id);
});
为了更好地了解这里发生了什么,您可以像下面这样打印数组的整个迭代元素:
$.each(arrayOfData['configAlm'], function(currentIdx, currentValue){
console.log(JSON.stringify(currentValue));
});
谢谢,这是我在试图找到解决方案时所做的,但对于我的案例,我做了一个for循环+相同的if条件,我将尝试这一个。非常感谢你的帮助和解释,这对我理解事物有很大帮助。。如果条件有效;我把$('#boxLV2Content').empty()放进去代码>因为在我的例子中,每当我点击id='almCrit'时,它不会清除旧的来显示新的…它会不断重复…空的()不起作用,但这不是什么大问题,…再次感谢:)@Zinebs很高兴帮助你,伙计:):@Zinebs没关系。谢谢谢谢你这是我在试图找到解决方案时所做的,但对于我的案例,我做了一个for循环+相同的if条件,我将尝试这一个谢谢你的帮助和解释,这对我理解事物有很大帮助。。如果条件有效;我把$('#boxLV2Content').empty()放进去代码>因为在我的例子中,每当我点击id='almCrit'时,它不会清除旧的来显示新的…它会不断重复…空的()不起作用,但这不是什么大问题,…再次感谢:)@Zinebs很高兴帮助你,伙计:):@Zinebs没关系。谢谢