Сглаживание иерархии JSON с использованием Java - PullRequest
2 голосов
/ 22 апреля 2011

Итак, у меня есть иерархия объектов страниц, и я перехожу из системы Postgres в MongoDB, но мне все еще нужно поддерживать некоторые устаревшие клиентские системы, которые ожидают данные в формате плоского стиля СУБД.

Если я сохраню это в Монго, у меня будет что-то вроде этого:

{
    "id": "1",
    "title": "Top Page",
    "children": 
    [
        {
            "id": "2",
            "title": "Page Two",
            "children": 
            [
                {
                    "id": "3",
                    "title": "Page Three",
                    "children": []
                }
            ]
        }
        {
            "id": "4",
            "title": "Page Four",
            "children": []
        }
    ]
}

Но мне нужно переформатировать его, чтобы клиентские приложения могли его читать. И они ожидают этого в таком формате:

[
{
    "id": "1",
    "title": "Top Page",
    "parentid": "top"
}
{
    "id": "2",
    "title": "Page Two",
    "parentid": "1"
}
{
    "id": "3",
    "title": "Page Three",
    "parentid": "2"
}
{
    "id": "4",
    "title": "Page Four",
    "parentid": "1"
}
]

Есть ли простой способ сделать это с помощью Java или драйвера MongoDB? или мне просто нужно пройти через каждый из объектов и установить парентиды вручную? (некоторые из этих иерархий довольно велики).

1 Ответ

1 голос
/ 22 апреля 2011

Существует 1000 способов выравнивания иерархии, поэтому я сомневаюсь, что для этого существует API. Сделай это вручную. В конце концов, это простой рекурсивный метод.

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