Python
 Computer >> コンピューター >  >> プログラミング >> Python

PythonでJSONを解析する方法!json.load()による読み込みとデータ抽出の基本

PythonでJSONを解析(パース)するにはどうすればよいのでしょうか。基本的な流れはシンプルです。まず json.load() メソッドを使ってJSONファイルを読み込みます。すると、結果はPythonの辞書型として返されるため、あとは通常の辞書操作で各フィールドにアクセスできるようになります。

JSONは軽量なデータ交換フォーマットで、APIレスポンスや設定ファイルなど、さまざまな場面で利用されています。

JSONファイルやJSONレスポンスから情報を取り出すには、まずデータをパースしてPythonで扱える形に変換する必要があります。

PythonでJSONファイルを読み込む

この記事では、以下のJSONをサンプルとして使用します。

{
   "store":{
      "book":[
         {
            "category":"reference",
            "author":"Nigel Rees",
            "title":"Sayings of the Century",
            "price":8.95
         },
         {
            "category":"fiction",
            "author":"Evelyn Waugh",
            "title":"Sword of Honour",
            "price":12.99
         }
      ],
      "bicycle":{
         "color":"red",
         "price":19.95
      }
   },
   "expensive":10
}

最初のステップは、PythonでJSONファイルを読み込むことです。

import json

with open('store.json') as json_file:
    data = json.load(json_file)
print(data)

これでJSONファイルの中身が data 変数に格納されました。

print() を実行すると、読み込んだJSONがそのまま出力されます。

ポイント: この方法で読み込んだJSONは、Pythonの辞書型として保存されます。print(type(data)) を実行すれば、型が <class 'dict'> になっていることを確認できます。

特定のデータをJSONから抽出する

JSONがPythonの辞書として読み込めたら、フィールド名(辞書における key)を指定することで、目的のデータを簡単に取得できます。

たとえば、上記のJSONから自転車の価格を取得したい場合は、次のように書きます。

print(data['store']['bicycle']['price'])

出力結果:

19.95

JSON配列からデータを抽出する

先ほどのJSON例では、「book」フィールドがJSON配列になっています。

配列の場合は、インデックスを指定することで特定の要素を取り出せます。

たとえば、2冊目の本のタイトルを取得するには、次のようにします。

print(data['store']['book'][1]['title'])

出力結果:

Sword of Honour

条件に合うデータだけを抽出する

たとえば「価格が10.00以下の本をすべて取得したい」という場合は、forループとif文を組み合わせます。

books = data['store']['book']
for book in books:
    if book['price'] <= 10.00:
        print(book)

出力結果:

{'category': 'reference', 'author': 'Nigel Rees', 'title': 'Sayings of the Century', 'price': 8.95}

まとめ

この記事では、PythonでJSONを解析する方法を解説しました。最も重要なポイントは、json.load() で読み込んだJSONはPythonの辞書型として扱われるという点です。一度辞書型に変換してしまえば、あとは普段どおりの辞書操作を使って、キー指定・インデックス指定・条件分岐など、さまざまな方法でJSONから必要な値を自由に取り出せます。

  1. AndroidでJSONを解析する方法を徹底解説!初心者向けステップバイステップガイド

    はじめに この記事では、AndroidアプリでJSONデータを解析(パース)する方法を、実際のコード例とともにわかりやすく解説します。JSONはWeb APIなどで広く利用されているデータ形式であり、Android開発においてその扱い方をマスターすることは非常に重要です。 ステップ1:新規プロジェクトの作成 まず、Android Studioで新しいプロジェクトを作成します。メニューから「File」→「New Project」を選択し、必要な項目をすべて入力してプロジェクトを作成しましょう。 ステップ2:レイアウトファイルの作成 次に、res/layout/activity_main.xm

  2. PythonでJSONファイルを見やすく整形表示(プリティプリント)する方法

    Pythonは、他の多くのプログラミング言語と同様に、JavaScript Object Notation(JSON)データをスムーズに扱うことができます。さまざまなソースからJSONデータを取り込み、他のファイルと同じように操作できるため、JSONファイルを読みやすい形で整形表示(プリティプリント)したい場合に非常に便利です。 この記事では、PythonでJSONファイルをプリティプリントする2つの方法をご紹介します。どちらの方法もターミナルとコマンドラインを使用しますが、そのうち1つはPythonの知識がまったく不要です。 プリティプリントとは?(JSONファイルで使う理由) 簡単に言え