我很难用JS / JQuery搜索JSON文档。 Here is my JSON file 我的应用程序中有两个选择列表,一个选择一个顶级数组(150,300,600,900等),另一个选择一个对象(直径)中的值。我想显示所有比赛。我已经尝试了几件事,但我似乎可以选择正确的数组来搜索 - 我只能通过数字(0,1,2等)来获取它们而不是名称(150,300等)。
这是我目前的职能:
$("#btnBeregn").click(function(){
//$("#loader").fadeIn(200);
$("#resultsTable").html("");
var currDiameter = $("#ddlDiameter option:selected").val();
var currDim = $("#ddlRorklasse option:selected").val();
$.getJSON("calctable.json", function(data) {
$.each(data, function(i, v) {
$.each(v, function(x,y) {
if(y.bolts == "32"){
console.log('16 boolts');
}
});
});
});
});
答案 0 :(得分:0)
,并且在解析JSON时,输出是一个对象。$.each
遍历数组,而不是对象
迭代JavaScript对象的方法是:
for (var key in object) {
if (object.hasOwnProperty(key)) {
// key is the key, object[key] is the value
}
}
有关迭代对象的更多信息,请参阅How to Loop through plain JavaScript object with objects as members?。
修改:在您的情况下,要获取与特定属性匹配的特定项目,您可以执行以下操作:
$.each(data["150"], function(i, item) {
if (item.diameter == "0,5 / 15mm") {
console.log(item);
}
});
编辑#2 :我查了$.each
,看起来我错了。它可用于迭代数组和对象(http://api.jquery.com/jQuery.each/)。也就是说,在您的情况下,考虑到数据的结构,只需要一个$.each
,如上所示。