我在JSON格式的文件中有几个对象,它们具有相同的字符串但值不同:
{
"object_1": {
"data1": [1, -1],
"data2": [2, -1],
"data3": [3, -1],
},
"object_2": {
"data1": [4, -1]
"data2": [5, -1],
"data3": [6, -1],
}
}
我可以使用getJSON()
检索对象中的数据:
var url = "https://website.com/file.json";
$.getJSON(url, function (json) {
var mydata1 = json.object_1.data1;
var mydata2 = json.object_1.data2;
var mydata3 = json.object_1.data3;
});
但我有几个对象,我不想为所有这些对象重复相同的三行。我想通过使用对象id作为输入的函数来创建这些变量mydata1
mydata2
和mydata3
。
我的问题是,当它的值是由变量组成的对象时,我无法弄清楚如何创建变量。例如,此处id
是用于选择JSON对象的变量:object_1
或object_2
。
$.getJSON(url, function (json) {
var id = 1 // use id = 1 on page load
function loadJSON(id) {
// all these declaration fail
eval("var mydata1 = string.concat('json.object_', id, '.data1')");
var mydata1 = string.concat("json.object_", id, ".data1");
var mydata1 = window["json.object_" + id + ".data1"];
);
// then rewrite the data on click
$('#button_2').click(function () {
loadJSON(2);
});
$('#button_1').click(function () {
loadJSON(1);
});
)},
如何在函数中声明这些变量?
谢谢,