Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flex (http://www.flasher.ru/forum/forumdisplay.php?f=84)
-   -   parse JSON (http://www.flasher.ru/forum/showthread.php?t=153206)

stanley 30.03.2011 11:59

parse JSON
 
фрагмент обрабатываемого JSON запроса
Код AS3:

{
 
    id: "9"
    name: "bookmarks"
    user_id: "1"
    folder_type: "bookmarks"
    predefined: true
    root_id: "1"
    level: "1"
    -
    __children: [
        -
        {
            id: "136"
            name: "Папка1"
            user_id: "1"
            folder_type: "bookmarks"
            predefined: false
            root_id: "1"
            level: "2"
            -
            __children: [
                -
                {
                    id: "137"
                    name: "Подпапка1.1"
                    user_id: "1"
                    folder_type: "bookmarks"
                    predefined: false
                    root_id: "1"
                    level: "3"
                    -
                    __children: [
                        -
                        {
                            id: "139"
                            name: "Подпапка1.2"
                            user_id: "1"
                            folder_type: "bookmarks"
                            predefined: false
                            root_id: "1"
                            level: "4"
                            -
                            __children: [

Уровень вложенности не известен - максимальная вложенность 5
Но несколько веток.
Как перебирать детей?
и как их представить в удобном виде чтоб потом засунуть в LIST или TREE?
преобразовывать как то в XML?

alatar 30.03.2011 12:19

http://code.google.com/p/as3corelib/
http://www.blooddy.by/en/crypto/

stanley 30.03.2011 12:28

использую as3corelib - получил Object
Код AS3:

var obj:Object = JSON.decode(e.target.data);

Меня интересует дальнейший парсинг, перебор всех детей и представление в удобном виде

alatar 30.03.2011 13:13

Ну, и в чем проблема?
Цитата:

перебор всех детей
Код AS3:

...
var obj:Object = JSON.decode(e.target.data);
 
if (obj..hasOwnProperty('__children'))
{
    traceChildren(obj.__children);
}
...
private function traceChildren(children:Array):void
{
    for (var i:int = 0; i < children.length; i++)
    {
        var item:Object = children[i];
        trace(item.id);
        if (item.hasOwnProperty('__children')
        {
            traceChildren(item.__children);
        }
    }
}

Цитата:

и представление в удобном виде
Попросите, что бы вам передавали вместо "__children" просто "children" и для Tree, а также для AdvancedDataGrid вообще не придется делать дополнительный парсинг.

stanley 30.03.2011 13:49

Цитата:

Сообщение от alatar (Сообщение 984991)
Попросите, что бы вам передавали вместо "__children" просто "children" и для Tree, а также для AdvancedDataGrid вообще не придется делать дополнительный парсинг.

т.е можно будет сразу засовывать Object в dataProvider?

alatar 30.03.2011 14:02

Да, можно будет сразу.


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

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