Actionscript 3, Проблема анализа данных JSON - PullRequest
0 голосов
/ 28 сентября 2011

Я отправляю запрос на сервер, а взамен получаю длинный блок 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, но я не могу найти способ доступа к этим данным.

1 Ответ

2 голосов
/ 28 сентября 2011

Попробуйте получить доступ к вашей собственности, используя скобки:

getAssnNumbers.assignments["17733"]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...