この記事では、Python で JSON を扱うための基本的な操作から、具体的な活用例を詳しく解説していきます。
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 ライブラリ
Python では、組み込みの json ライブラリを使って 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
Python オブジェクトの JSON 表現
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)
JSON の活用例
Web API との連携
多くの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の基礎を学びたい方は以下がおすすめです。私も持っていてたまに眺めて勉強していますものですのでぜひ購入して学習してみてください。
コメント