Проблема с Flex3 для получения формата массива с использованием объекта json - PullRequest
0 голосов
/ 29 августа 2011
{"object":[{"cyclename":"PE cycle","avgRunTime":"05:30","actualStartTime":"08/27/2011 02:40:08","actualEndTime":"08/27/2011 05:26:38","startTime":"02:40","status":"G"}]}

это мой файл, и я хочу разобрать его в массив и получить отображаемый статус, но я получаю данные типа [object object][object Object],[object Object],[object Object] и т. Д.

как мне проанализировать его для провайдера данныхи код, который я написал, это

private function cycle_resultHandler(event:ResultEvent):void
{

   var myData:Object = JSON.decode(event.result as String);

   for(var i:String in myData['object'])
   {

     dProvider.addItem(myData['object'][i]);

   }

}

1 Ответ

0 голосов
/ 12 марта 2012

Кажется, ваш цикл немного отключен. Во-первых, вы можете пересмотреть использование цикла for ... in вместо цикла for for. Эта статья: для ... в сравнении с каждым объясняет различия довольно просто.

Вы также можете прочитать эту статью для получения дополнительной информации о объектном самоанализе (методика определения свойств класса во время выполнения - что вы пытаетесь сделать ...).

В любом случае, проблема здесь в том, что вы зацикливаете. Если цель здесь состоит в том, чтобы перебрать свойство значения объекта "" и добавить их в массив или коллекцию массивов, вы почти у цели -

используя цикл «для каждого», вы можете сделать это вместо этого:

private function cycle_resultHandler(event:ResultEvent):void {
    var myData:Object = JSON.decode(event.result as String);
    //Here we are iterating over the values in the "object" object as opposed to it's keys.
    for each(var str:String in myData['object']) {
        dProvider.addItem(str);
    }
}

Надеюсь, это поможет:)

...