JSONはJavaScriptのオブジェクトの書き方にならったデータの表現方法で、キーと値の組でデータを管理します。特にWebAPIを使う場面など、いろんな場面でデータを表すために利用することがあります。こちらの記事ではJSONデータをパースしたり、Pythonのデータとして変換したりし、便利に使う方法を確認していきます。
JSONをparseする基本的な方法
事前にサンプルのデータ (data.json) をファイルに用意しました。こちらのファイルにpythonからアクセスしてみます。

こちらのコードブロックにもサンプルデータを起きました。
{ "1": { "name": "北海道", "area": 83450, "population": 528.1 }, "2":{ "name": "青森", "area": 9646, "population": 124.9 }, "3": { "name": "岩手", "area": 15280, "population": 122.9 }}
JSONファイルをparseするサンプルソース
サンプルの実装です。
1行目では jsonモジュールをインポートします。
2行目-3行目ではjsonファイルにアクセスします。まず2行目で通常のファイルを読み込むように data.json へアクセスし、データを json.load() に渡すことでデータを読み込み(パース)します。
4行目では読み込んだ結果のデータを標準出力へ出力します。
実行結果
実行結果です。JSONではキーと値の組でデータを表現しており、サンプルデータの1、2、3のキーがそれぞれ北海道、青森、岩手のデータとなっており、出力した結果からもデータ読み込み・パース・出力ができていることが分かります。

JSONの文字列データをparseする
先程の例ではファイルからJSONデータを読み込みました。一方で、pythonの文字列がJSONのデータになっている場合に、データを読み込むことができます。実際に使ってみます。
文字列からデータを読み込む場合のサンプルソース
サンプルの実装です。json.loads() を使って、文字列のJSONをパースして、データに変換できます。
実行結果
実行した結果、文字で書かれているJSONデータから、name/area/populationへアクセスできたことが分かります。

こうしてファイルに保存されたJSONデータも、文字列で得られるJSONデータも、いずれもPythonの辞書に変換して扱えることが分かりました。こちらの記事では入力する方に注目して例を説明しましたが、似たように出力する方も可能です。
スポンサーリンク
最初にも述べたとおり、WebのAPIへアクセスする場合など、JSONデータを扱う場合が多くなってきています。JSONファイルとJSON文字列の扱いをこちらの例で確認し、使ってみてください。