我以为我做得很正确,但这可能是一个完全的初学者错误。
这是我的JSON数据
{
"rows": {
"row1": {
"divs": 7,
"offset": 0,
"colors": {
"color1": "#003366",
"color2": "#336699",
"color3": "#3366CC",
"color4": "#003399",
"color5": "#000099",
"color6": "#0000CC",
"color7": "#000066"
}
},
"row2": {
"divs": 8,
"offset": 11,
"colors": {
"color1": "#006666",
"color2": "#006699",
"color3": "#0099CC",
"color4": "#0066CC",
"color5": "#0033CC",
"color6": "#0000FF",
"color7": "#3333FF",
"color8": "#333399"
}
},
"row3": {
"divs": 9,
"offset": 22,
"colors": {
"color1": "#669999",
"color2": "#009999",
"color3": "#33CCCC",
"color4": "#00CCFF",
"color5": "#0099FF",
"color6": "#0066FF",
"color7": "#3366FF",
"color8": "#3333CC",
"color9": "#666699"
}
}
}
}
我将其保存到一个文件中,然后像这样将其推入数组中。
var colorPicker = []
$(function () {
$.getJSON("js/json/colorPicker.json", function (data) {
colorPicker.push(data)
});
})
现在我正在尝试访问这个数组。
可以使用colorPicker[0]
进入它。
这将返回整个对象。
Object {rows: Object}
当我执行 colorPicker[0].rows
时,它会返回3行。
Object {row1: Object, row2: Object, row3: Object}
但是,当我使用colorPicker[0][1]
时,不应该只返回一行吗?我一直得到未定义的结果。
当我使用colorPicker[0].rows.row1
时,我可以从那里访问我的值。但是,如果我想使用for each循环,像colorPicker[0][1].divs
这样做会更容易,不是吗?我是不是方法错误了?
colorpicker[0].rows.row1
- BillPulldata
是Object
类型Object {rows: Object}
要访问对象的值,您需要指定键。如果指定colorPicker[0]["row1"]
您将获得结果。现在,如何迭代对象?对于数组,您知道键是整数,因此可以在循环中更改整数。对象键有点不同,在那里您可以通过以下方式获取键var keys = Object.key(colorPicker[0]);
- zmii