
Недавно я экспортировал очень большую резервную копию Slack, которая состоит из ежедневных файлов JSON для каждого канала на сервере. У меня есть процесс ручной передачи этой информации в Discord, но делать это для отдельных файлов JSON было бы очень долго. Было бы проще объединить все файлы JSON в папке и загрузить по одному на канал.
Структура файла в папке по дате, например, 2021-12-03.json, 2021-12-05.json. Вот пример структуры самого файла, который представляет собой последовательный массив:
[
{
"bot_id": "B014C6CPY7N",
"type": "message",
"text": "User1 has signed up for Associate Membership,Associate Membership with the email <mailto:[email protected]|[email protected]>! Well done team!",
"user": "U014613HJQJ",
"ts": "1638698972.000100",
"team": "T9XQNBRDK",
"bot_profile": {
"id": "B014C6CPY7N",
"app_id": "A024R9PQM",
"name": "Zapier",
"icons": {
"image_36": "https:\/\/slack-files2.s3-us-west-2.amazonaws.com\/avatars\/2017-06-20\/redacted_2d5e268a3b71c87f969c_36.png",
"image_48": "https:\/\/slack-files2.s3-us-west-2.amazonaws.com\/avatars\/2017-06-20\/redacted_2d5e268a3b71c87f969c_48.png",
"image_72": "https:\/\/slack-files2.s3-us-west-2.amazonaws.com\/avatars\/2017-06-20\/redacted_2d5e268a3b71c87f969c_72.png"
},
"deleted": false,
"updated": 1590248394,
"team_id": "T9XQNBRDK"
}
},
{
"bot_id": "B014C6CPY7N",
"type": "message",
"text": "user2 has signed up for Full Membership,Full Membership with the email <mailto:[email protected]|[email protected]>! Well done team!",
"user": "U014613HJQJ",
"ts": "1638705446.000100",
"team": "T9XQNBRDK",
"bot_profile": {
"id": "B014C6CPY7N",
"app_id": "A024R9PQM",
"name": "Zapier",
"icons": {
"image_36": "https:\/\/slack-files2.s3-us-west-2.amazonaws.com\/avatars\/2017-06-20\/redacted_2d5e268a3b71c87f969c_36.png",
"image_48": "https:\/\/slack-files2.s3-us-west-2.amazonaws.com\/avatars\/2017-06-20\/redacted_2d5e268a3b71c87f969c_48.png",
"image_72": "https:\/\/slack-files2.s3-us-west-2.amazonaws.com\/avatars\/2017-06-20\/redacted_2d5e268a3b71c87f969c_72.png"
},
"deleted": false,
"updated": 1590248394,
"team_id": "T9XQNBRDK"
}
}
]
Существуют ли какие-либо программные инструменты или приемы для объединения таких файлов в один большой JSON-файл, который я могу передавать?
решение1
Эту проблему удалось решить с помощью следующего проекта GitHub:
https://github.com/mtacnet/json-merger
Клонировал репозиторий, открыл генератор, и он, похоже, обработал около 100 файлов JSON за один раз, прежде чем у него возникли проблемы с парсингом, как и в комментарии Фрэнка Томаса выше.
Объединенный файл импортирован в бот, который я использую для передачи данных между Slack и Discord (Slackord2 для тех, кому интересен этот процесс).