pianofisica

Mathematics & Physics, Maxima, a bit Python & Wolfram, and Arts

Python標準ライブラリ:json

Python標準ライブラリの「json」モジュールの使い方について備忘録をまとめました。json モジュールによって JSONJavaScript Object Notation)形式のデータを扱うことができます。JSON はデータの保存や通信に広く使われています。



jsonモジュールのインポート

jsonモジュールを利用するためには、Pythonスクリプト内でインポートする必要があります:

import json

JSONとは

JSONは次のようなデータ形式です。Pythonの辞書のような形式です:

data = {
    "name": "Alice",
    "age": 25,
    "is_student": false,
    "skills": ["Python", "Machine Learning"],
    "address": {
        "city": "Tokyo",
        "country": "Japan"
    }
}

PythonオブジェクトとJSONの間の相互変換

PythonオブジェクトをJSONに変換:dumps

Python の dict オブジェクトを JSON 文字列に変換するには以下のようにします:

import json

# Pythonの辞書 (dict)
data = {
    "name": "Alice",
    "age": 25,
    "is_student": False,
    "skills": ["Python", "Machine Learning"],
    "address": {"city": "Tokyo", "country": "Japan"}
}

# JSON 文字列に変換
json_string = json.dumps(data)

print(json_string)

出力はJSON形式の文字列になります。
 

JSON文字列をPythonオブジェクトに変換:loads
read_data = json.loads(json_string)

print(read_data) 

いまの場合、出力Pythonの辞書形式なので

print(read_data["name"])

によってキーに対応する値 Alice が返ってきます。
 

JSONファイルの読み書き

PythonオブジェクトをJSONファイルとして書き込む:dump
with open("data.json", "w") as file:
    json.dump(data, file)

このコードを実行すると、data.json という名前の JSON ファイルが作成されます。

JSONファイルをPythonオブジェクトとして読み込む:load
with open("data.json", "r") as file:
    data = json.load(file)

print(data)

 




 

日本語対応:ensure_ascii=False

デフォルトでは ensure_ascii=True で、非ASCII文字(日本語など)は Unicode (\uXXXX) でエンコードされています。日本語をそのまま出力したい場合、オプションで ensure_ascii=False を指定する必要があります:

data = {"name": "太郎", "city": "東京"}

# Unicodeエンコードされる
print(json.dumps(data))  
# 日本語のまま出力
print(json.dumps(data, ensure_ascii=False))
{"name": "\u592a\u90ce", "city": "\u6771\u4eac"}
{"name": "太郎", "city": "東京"}


キーワードjsonモジュール、標準ライブラリ

プライバシーポリシー