Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flex (http://www.flasher.ru/forum/forumdisplay.php?f=84)
-   -   flex и JSON. Почему не удается преобразовать в Array ? (http://www.flasher.ru/forum/showthread.php?t=122683)

andruha_derby 16.03.2009 16:00

flex и JSON. Почему не удается преобразовать в Array ?
 
Доброго времени суток.

Есть код, в котором нужно обратиться к удаленному серверу, взять JSON код. Преобразовать в ArrayCollection для вывода в ComboBox.

Создал httpservice, потом пошел на сервер, получил ответ строку.
После преобразования у меня массив null

Код AS3:

        var rawData:String = String( e.result );
        var arr:Array = ( JSON.decode( rawData ) as Array );
trace(arr); // null

Подскажите, в чем может быть проблема и как его лечить?

CrazyFlasher 16.03.2009 16:06

чему равен e.result ?

andruha_derby 16.03.2009 16:30

Цитата:

Сообщение от CrazyFlasher (Сообщение 805901)
чему равен e.result ?

Строка

Код AS3:

{
"COUNTRY":{"NAME":"USA",
"STATES":[{"id":140,"state":"Alabama","obama":6,"mccain":5,"ec":3},
{"id":91,"state":"Alaska","obama":4,"mccain":5,"ec":3}],
"VOTES":{"obama":7450, "mccain":7450}
}
}


CrazyFlasher 16.03.2009 16:35

ну правильно
Код:

JSON.decode( rawData );
вернёт вам Object...почему он должен вернуть массив не пойму?
Код:

var myObj:Object = JSON.decode( rawData );
//myObj.STATES - массив


andruha_derby 16.03.2009 17:03

to CrazyFlasher. Огромное спасибо!

Я понял свою ошибку и неверно использовал объект, считая что мне прийдет root элемент. А нужно было просто
obj.свойство

Все. Тему можно закрывать.

Добавлено через 16 минут
CrazyFlasher ,а как такие данные можно вытянуть
Код AS3:

        "all_country":{
 
        "10":{
                "0":"10",
                "2":"54",
                "countryname":"Argentina"
                },
 
        "13":{
                "0":"13",
                "3":"Australia",
                "countryname":"Australia"
                },
...


Aldvin 19.03.2009 15:26

all_country - Объект
all_country["10"] - Объект
all_country["13"] - Объект
all_country["10"]["0"] - свойство 0 объекта all_country["10"], равно 10
итд

MainCraft 18.01.2011 12:00

Очень тебе благодарен за пост № 4, заработало!
Вафли нам заведомо подложили кривой пример с типом:Массив, вместо тип:Объект.
Как новичку это сложновато самому доперь, поиски в гугле были безуспешными, т.к. везде давали тот мануал!


Часовой пояс GMT +4, время: 05:44.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.