この記事では、Python で JSON を扱うための基本的な操作から、具体的な活用例を詳しく解説していきます。
JSON (JavaScript Object Notation)は、Web開発やデータ分析など、様々な分野で広く使われているデータフォーマットです。人間が読み書きしやすく、機械が解析しやすいテキストベースのデータ形式となっています。JSONの主なメリットは以下の通りです。
jsonデータ例:
{
"name": "山田 太郎",
"age": 30,
"city": "東京",
"is_active": true,
"hobbies": ["読書", "旅行", "プログラミング"],
"address": {
"street": "渋谷区",
"zip_code": "150-0002"
}
}
Python では、組み込みの json ライブラリを使って JSON データを操作できます。
json.loads() 関数で JSON 文字列を Python オブジェクトに変換します。
import json
json_string = '{"name": "山田 太郎", "age": 30}'
data = json.loads(json_string)
print(data["name"]) # 出力: 山田 太郎
print(data["age"]) # 出力: 30
json.dumps() 関数で Python オブジェクトを JSON 文字列に変換します。
import json
data = {"name": "山田 太郎", "age": 30}
json_string = json.dumps(data)
print(json_string) # 出力: {"name": "山田 太郎", "age": 30}
json.load() と json.dump() 関数で JSON ファイルからデータを読み書きできます。
import json
# ファイルから読み込み
with open("data.json", "r") as f:
data = json.load(f)
# データを操作...
# ファイルに書き込み
with open("data.json", "w") as f:
json.dump(data, f)
多くのAPIはJSON形式でデータを返します。Pythonのrequests
ライブラリでAPIにアクセスし、JSONデータを取得できます。
import requests
url = "https://api.example.com/data"
response = requests.get(url)
if response.status_code == 200:
data = response.json() # JSONデータをPythonオブジェクトに変換
print(data)
アプリケーション設定をJSONファイルに保存し、Pythonで読み込んで使用できます。
import json
with open("config.json", "r") as f:
config = json.load(f)
print(config["database"]["host"])
print(config["api_key"])
PythonオブジェクトをJSONに変換してファイルに保存したり、データベースに格納したりできます。
import json
class User:
def __init__(self, name, age):
self.name = name
self.age = age
user = User("山田 太郎", 30)
json_data = json.dumps(user.__dict__)
with open("user.json", "w") as f:
f.write(json_data)
pandas
ライブラリなどを使って、JSONデータを処理し、統計分析や可視化を行うことができます。
import pandas as pd
import json
with open("data.json", "r") as f:
data = json.load(f)
df = pd.DataFrame(data)
print(df.head())
JSONは、Web開発からデータ分析まで、様々な場面で活躍する汎用性の高いデータフォーマットです。この記事で紹介した内容を参考に、PythonでJSONを使いこなして、より効率的な開発やデータ分析を実現しましょう!
最近では、AWS等のクラウド環境やAI環境との親和性が高くPythonと一緒に活用されていますので、マスターしておくといいでしょう。
JSONではなく、YAMLが知りたい方はこちら。
最後に、Pythonの基礎を学びたい方は以下がおすすめです。私も持っていてたまに眺めて勉強していますものですのでぜひ購入して学習してみてください。