Webに公開される技術文書の中には少なからずjson形式のファイルが存在します。
ITなんてまったく理解していない管理職にこんな形式で報告しようものならヒステリックな反応されること間違いなしなので、EXCELなどの加工しやすい形式に変換する方法を知っておくと便利です。
というわけでJSONファイルをEXCELに展開する方法をご紹介します。
ネットワークをしているとドメイン名やグローバルIPアドレスの情報がjson形式で公開されているので、このような方法で定期的にrouting tableを更新するようにすれば、あの高価なベンダー情報を買う必要もなく運用することができるようになりますよ(´艸`*)
JSONファイルをEXCELに展開する方法
「Googleがインターネット上でユーザーに提供しているIP範囲」のjsonを例に解説します(Office2016)。
EXCELを起動し、データ→新しいクエリ→その他のデータソースから→[Webから]を選択します。
URLの入力画面が表示されるので、JSONファイルのURLを入力して進みます。
Webコンテンツへのアクセスが表示される場合は、そのまま[接続]を選択します。
自動的にPowerQueryエディターが開きます。prefixesのListを選択します。
テーブルへの変換を選択し、テーブルへの変換ダイアログはそのままokします。
Column1の展開アイコンをクリックします。
Column1のヘッダーがすべて表示されていることを確認してokします。不完全な場合は「さらに読み込み」を選択して、すべてのヘッダーを確認します。
[閉じて読み込む]を選択すると、EXCELに展開されます。
あとは使い慣れたEXCELでデーターを加工できるようになります。
まとめ
報告書や集計などでそのままでは使いにくいjson形式のファイルをEXCELに展開する方法をご紹介しました。
特にmicrosoft365やGoogle Workspaceを利用していると、多数のセッションが同時多発的に発生してプロキシサーバーやネットワーク機器がパンクするリスクがあります。そのため、MSやGoogle宛の通信を除外する設定を加えます。一方で、クラウド系サービスにおいてドメイン情報やグローバルIPの情報は頻繁に変更されるため、リアルタイムに更新することが難しく、ベンダー各社から高価な情報を購入せざるを得なかったりします。結局はこのような公開情報(jsonファイル)を元に生成しているだけだったりしますので、エクセルを使いこなせるようになると、プログラムができずともお金をかけずに運用できるようになるのは楽しいことだと思います(´艸`*)
以前はJSONを展開するコードを書いていたものですが、今やEXCELですべてできちゃうのでホント楽になりました(*^^)v