У меня проблемы с доступом к определенным свойствам объекта, который я получаю в виде JSON из серверного скрипта в результате выполняемого мной вызова AJAX.Мои данные JSON могут поступать в одной из двух форм, в зависимости от данных в самом объекте.
Форма 1:
"MY_OBJ" : { "FILE" : "myfile.txt",
"PARAMS" : { "PARAM" : { "KEY" : "mykey",
"VALUE" : "myvalue"
} }
}
Форма 2:
"MY_OBJ" : { "FILE" : "myfile.txt",
"PARAMS" : { "PARAM" : [ { "KEY" : "mykeyone",
"VALUE" : "myvalueone"
},
{ "KEY" : "mykeytwo",
"VALUE" : "myvaluetwo"
}
] }
}
Вот как я сейчас пытаюсь проанализировать данные для отображения в браузере:
function(v) {
var myFormattedData = v.FILE;
if (v.PARAMS !== undefined && v.PARAMS.PARAM !== undefined && v.PARAMS.PARAM.KEY !== undefined && v.PARAMS.PARAM.VALUE !== undefined) {
myFormattedData += '<br />' + v.PARAMS.PARAM.KEY + ' : ' + v.PARAMS.PARAM.VALUE;
} }
Этот метод отлично работает, когда мои данные находятся в форме 1. В этой ситуации я получу вывод в браузере, как...
myfile.txt
mykey : myvalue
... это именно то, что я хочу.
Однако, когда данные находятся в форме 2, все, что я получаю, это имя файла, отображаемое в браузере, как это...
myfile.txt
... но я пытаюсь получить что-то вроде ...
myfile.txt
mykeyone : myvalueone
mykeytwo : myvaluetwo
Мне нужно уметь обрабатывать получение данных в обеих формах.Что еще хуже, я, вероятно, также должен планировать возможность получения более чем одной или двух пар ключ-значение в какой-то момент в будущем.Я боролся с этим в течение длительного времени.Любая помощь очень ценится!
Спасибо!