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から必要な値を自由に取り出せます。
-
AndroidでJSONを解析する方法を徹底解説!初心者向けステップバイステップガイド
はじめに この記事では、AndroidアプリでJSONデータを解析(パース)する方法を、実際のコード例とともにわかりやすく解説します。JSONはWeb APIなどで広く利用されているデータ形式であり、Android開発においてその扱い方をマスターすることは非常に重要です。 ステップ1:新規プロジェクトの作成 まず、Android Studioで新しいプロジェクトを作成します。メニューから「File」→「New Project」を選択し、必要な項目をすべて入力してプロジェクトを作成しましょう。 ステップ2:レイアウトファイルの作成 次に、res/layout/activity_main.xm
-
PythonでJSONファイルを見やすく整形表示(プリティプリント)する方法
Pythonは、他の多くのプログラミング言語と同様に、JavaScript Object Notation(JSON)データをスムーズに扱うことができます。さまざまなソースからJSONデータを取り込み、他のファイルと同じように操作できるため、JSONファイルを読みやすい形で整形表示(プリティプリント)したい場合に非常に便利です。 この記事では、PythonでJSONファイルをプリティプリントする2つの方法をご紹介します。どちらの方法もターミナルとコマンドラインを使用しますが、そのうち1つはPythonの知識がまったく不要です。 プリティプリントとは?(JSONファイルで使う理由) 簡単に言え