Преобразовать плоскую структуру данных в дерево

я есть страницы контента в базе данных (с использованием вложенных наборов), и мне нужно показать это с помощью плагина jQuery jsTree. Необходимо вернуть JSON с такими данными:

[
    {
        data: 'node1Title',
        children: [
            {
                data: 'subNode1Title',
                children: [...]
            },
            {
                data: 'subNode2Title',
                children: [...]
            }
        ]
    },
    {
        data: 'node2Title',
        children: [...]
    }
]

Для чего мне это нужно?

Я могу преобразовать массив хэшей в JSON, но я не понимаю, как создать массив.

Пример данных:

**'pages'table**
id  parent_id   level   lkey    rkey    name
1   0       1   1   14  index
2   1       2   2   7   info
3   1       2   8   13  test
4   2       3   3   4   about
5   2       3   5   6   help
6   3       3   9   10  test1
7   3       3   11  12  test2

Мне нужно получить:

[
    {
        data: 'index',
        children: [
            {
                data: 'info',
                children: [
                    {
                        data: 'about'
                    },
                    {
                        data: 'help',
                    }
                ]
            },
            {
                data: 'test',
                children: [
                    {
                        data: 'test1'
                    },
                    {
                        data: 'test2'
                    }
                ]
            }
        ]
    }
]

Ответы на вопрос(1)

Ваш ответ на вопрос