@Mpyrulearn

Как загрузить данные в MySQL из JSON файла с переменной структурой данных?

Есть файл (json-экспорт чата из Telegram), который имеет переменную структуру,
пример:
[
  {
   "id": 5,
   "type": "message",
   "date": "2019-01-02T12:05:43",
   "from": "nik",
   "from_id": 12457887,
   "text": "hi!"
  },
  {
   "id": 6,
   "type": "message",
   "date": "2019-01-02T12:05:45",
   "from": "nik2",
   "from_id": 22457877,
   "text": [
    "hi tyt info!",
    {
     "type": "link",
     "text": "https://telegra.ph/film-05-01"
    },
    ""
   ]
  }
]


Можно загрузить этот файл в базу данных MySQL, по аналогии с CSV?
Или придется вручную парсить файл и загружать скриптом вручную?
И какой формат лучше будет выбрать для хранения поля "text" для случая, когда он является списком со словарями внутри (VARCHAR, TEXT)?
' [
    "hi tyt info!",
    {
     "type": "link",
     "text": "https://telegra.ph/film-05-01"
    },
    ""
   ]'

Задача: иметь возможность обрабатывать логи чата средствами базы MySQL, выборки, поиск текста, статистика и пр.
  • Вопрос задан
  • 45 просмотров
Пригласить эксперта
Ответы на вопрос 1
2ord
@2ord
продвинутый чайник
Кроме поля "text", которое имеет какую-то странную структуру
остальные можно распределить по колонкам.
Если text - строка, то ее лучше сразу поместить в массив. Тогда просто тип колонки JSON.
Можно загрузить этот файл в базу данных MySQL, по аналогии с CSV?
Штатной утилитой по-моему, нет.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы