@nurzhannogerbek

Как парсить иерархических данные в Golang?

Здравствуйте, товарищи! Помогите пожалуйста разобраться с задачей.

В базе данных Oracle есть таблица с такой структурой:
| organization_id | ogranization_name | parent_id | level |
|-----------------|-------------------|-----------|-------|
| 1               | Facebook          |           | 0     |
| 2               | Instagram         | 1         | 1     |
| 3               | Whatsapp          | 1         | 1     |
| 4               | Dynamic           | 2         | 2     |
| 5               | Google            |           | 0     |


В данной таблице представлена структура хранение иерархических данных. В моем случаи это иерархия организаций.

У меня возник вопрос, как обычно вы в приложении Golang парсите данные, чтобы получить древовидную структуру JSON в качестве ответа:
[
    {
        "organization_id": 1
        "ogranization_name": "Facebook",
        "childs": [
            {
                "organization_id": 2,
                "ogranization_name": "Instagram",
                "childs": null
            },
            {
                "organization_id": 3,
                "ogranization_name": "Whatsapp",
                "childs": [
                    {
                        "organization_id": 4,
                        "ogranization_name": "Dynamic",
                        "childs": null
                    }
                ]
            }
        ]
    },
    {
        "organization_id": 5
        "ogranization_name": "Google",
        "childs": null
    }
]


Есть ли готовые пакеты для этих целей? Есть ли какие-то best practice о которых вы знаете и применяли?
  • Вопрос задан
  • 174 просмотра
Пригласить эксперта
Ответы на вопрос 1
@deliro
Готовые пакеты? Да, encoding/json. Иерархические структуры такие же, как и обычные.

https://play.golang.org/p/SUE3lLBciMQ

P.S. JSON, который ты привёл — невалидный. Там не хватает двух запятых.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы