function rebuildJSONObject(){
$.getJSON('services.json', function(data) {
//stof start
var input = data;
var output = { myservices: [] };
for (var key in input) {
if (input.hasOwnProperty(key)) {
for (var i = 0, hostsinfo = input[key].hostsinfo; i < hostsinfo.length; i++) {
output.myservices.push({
'nametag': key,
'hostidn': hostsinfo[i]['hostidn'],
'details': hostsinfo[i]['details'],
'currstatus': hostsinfo[i]['currstatus'],
'currstatusclass': hostsinfo[i]['currstatusclass']
});
}
}
}
//stof end
return output;
});
}
//setting it for use later in the script
var serviceJSONObject = rebuildJSONObject();
Я знаю, что все, что происходит в функции, работает должным образом, потому что, если я применю его к событию щелчка, оно будет очаровательным.Однако я бы предпочел загрузить объект JSON в память один раз и поработать с ним на стороне клиента после сохранения.Моя проблема, однако, везде, где я называю «serviceJSONObject», я получаю «неопределенную» ошибку.
Итак, как я делаю это неправильно и как я могу определить переменную, подобную этой, в начале игры, а остальная часть сценарияможет использовать указанную переменную.