複数のSlack JSONファイルを結合する

複数のSlack JSONファイルを結合する

最近、サーバー内の各チャンネルの毎日の JSON ファイルで構成される非常に大きな Slack バックアップをエクスポートしました。この情報を手動で Discord に転送するプロセスがありますが、個々の JSON ファイルに対してこれを行うと非常に時間がかかります。フォルダー内のすべての JSON ファイルを結合し、チャンネルごとに 1 つずつアップロードする方が簡単です。

フォルダーごとのファイル構造は日付順です (例: 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"
        }
    }
]

このようなファイルを 1 つの大きな JSON にマージして転送できるソフトウェア ツールやトリックはありますか?

答え1

次の GitHub プロジェクトを使用してこの問題を解決できました。

https://github.com/mtacnet/json-merger

リポジトリをクローンし、ジェネレーターを開くと、上記の Frank Thomas のコメントにあるように解析に苦労する前に、約 100 個の JSON ファイルを一度に処理できるようでした。

マージされたファイルは、Slack と Discord 間の転送に使用しているボット (このプロセスに興味のある方は Slackord2) にインポートされます。

関連情報