Tom617
@Tom617
QA junior. Manual testing. Autotesting. Python.

Какие есть решения чтобы парсить сложный JSON с изменяемой структурой схемы?

Всем привет!
Junior в программировании на Java. В процессе обучения поставил себе тренировочную задачу для работы с JSON.

При экспорте закладок Google Chrome генерирует html файл с информацией о всех закладках, которые были (с учетом вложенности в различные папки).
Я хочу из того файла получить весь список урлов с учетом вложенности, и затем на основе полученной информации получить новый json с другой стуктурой.

Пример такого экспорта Chrome (в моем файле 25 тыс строк):
{
    "checksum": "...",
    "roots": {
       "bookmark_bar": {
        "children": [ {
            "children": [ {
               "children": [ {
                  "date_added": "13041636353545778",
                  "guid": "73d733d0-a949-4931-a309-ad5dd4e7d7aa",
                  "id": "7",
                  "name": "14 СЕРВИСОВ ДЛЯ СОЗДАНИЯ ИНФОГРАФИКИ — Medium",
                  "type": "url",
                  "url": "https://medium.com/p/d7eaf1d4de32"
                  }]
                  }]
                  }]
        },
         "date_added": "13219315411214455",
         "date_modified": "13244927499721694",
         "guid": "00000000-0000-4000-a000-000000000002",
         "id": "1",
         "name": "Bookmarks bar",
         "type": "folder"
      },
       "other": {
        "children": [  ],
        "date_added": "13219315411214461",
        "date_modified": "0",
        "guid": "00000000-0000-4000-a000-000000000003",
        "id": "2",
        "name": "Other bookmarks",
        "type": "folder"
     },
     "synced": {
        "children": [  ],
        "date_added": "13219315411214464",
        "date_modified": "13243676447438187",
        "guid": "00000000-0000-4000-a000-000000000004",
        "id": "3",
        "name": "Mobile bookmarks",
        "type": "folder"
     },
     
  "sync_metadata": "...",
  "version": 1
}


Я читал о различных библиотеках здесь https://habr.com/ru/company/luxoft/blog/280782/
и для простого json проблем не вижу, но я хочу распарсить эти закладки, при этом учитывая их вложенность в папки (например получить на выходе урлы + в какой папке они лежали).

Каким способом можно это осуществить?
Не обязательно давать решение, может быть советы в какую сторону копать или куда смотреть.
Спасибо!
  • Вопрос задан
  • 145 просмотров
Пригласить эксперта
Ответы на вопрос 1
upagge
@upagge
Веду блог blog.upagge.ru
Jackson в помощь. Не вижу тут какой-то проблемы.

Проходишься по папкам парсишь данные из них сначала в Java объекты. Не помню точно как, но можно получить путь до файла и просто добавляешь его в объект. После чего объект превращаешь в JSON.
Ответ написан
Ваш ответ на вопрос

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

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