Я отправляю запрос на сервер, а взамен получаю длинный блок JSON.
{
"response":"success",
"assignments":{
"17733":{
"asnid":"17733",
"asnname":"Yitzhak Rabin PPT",
"asnclass":"11276",
"asndue":"2011-10-03",
"asnnotes":"5 Slides in Hebrew",
"asnpriority":"0",
"asnstatus":"open"
},
"9811":{
"asnid":"9811",
"asnname":"Java Chapter 1",
"asnclass":"11270",
"asndue":"2011-09-09",
"asnnotes":"Review Exercises 1-14. Programming Exercises 1-6 ",
"asnpriority":"0",
"asnstatus":"done"
},
"9815":{
"asnid":"9815",
"asnname":"Hebrew Poems",
"asnclass":"11276",
"asndue":"2011-09-12",
"asnnotes":"1 Name based poem, and One byline poem. See sheet for further reference.",
"asnpriority":"0",
"asnstatus":"done"
},
"11096":{
"asnid":"11096",
"asnname":"Java Ethics Essay",
"asnclass":"11270",
"asndue":"2011-09-15",
"asnnotes":"",
"asnpriority":"0",
"asnstatus":"done"
}
}
}
Для анализа этих данных я использовал класс com.adobe.serialization.json.JSON. Класс превратил данные в объекты, но проблема в том, что мне нужно проверить, что находится в объекте «17733» или «9811», и получить ошибку.
«1084: Синтаксическая ошибка: ожидается правый пароль до .17733»
Мой код следующий:
if (task == "getAssignments")
{
//trace(loader.data);
var getAssnNumbers:Object = JSON.decode(loader.data);
// Декодирование данных JSON
for(var i:* in getAssnNumbers.assignments.17733)
{
assnNumbers.push(i);
trace(i);
}
// Попытка отследить данные, хранящиеся в getAssnNumbers.assigments.17733
}
Есть ли способ сделать это? Я проверил, было ли свойство перечислено, и оно вернуло true, но я не могу найти способ доступа к этим данным.