Python JSON
JSONは、データを格納および交換するための構文です。
JSONは、JavaScriptオブジェクト表記で記述されたテキストです。
PythonでのJSON
Python にはjson
と呼ばれる組み込みパッケージがあり、これを使用してJSONデータを操作できます。
例
jsonモジュールをインポートします。
import json
JSONの解析 - JSONからPythonへの変換
JSON文字列がある場合は、json.loads()
メソッドを使用して解析できます。
例
JSONからPythonに変換します。
import json
# JSON:
x = '{ "name":"ジョン", "age":30, "city":"ニューヨーク"}'
# xを解析する
y = json.loads(x)
# 結果はPythonディクショナリ
print(y["age"])
PythonからJSONへの変換
Pythonオブジェクトがある場合は、json.dumps()
メソッドを使用してそれをJSON文字列に変換できます。
例
PythonからJSONに変換します。
import json
# Pythonオブジェクト(ディクショナリ):
x = {
"name": "John",
"age": 30,
"city": "New York"
}
# JSONに変換
y = json.dumps(x)
# 結果はJSON文字列になります
print(y)
次のタイプのPythonオブジェクトをJSON文字列に変換できます。
- dict
- list
- tuple
- string
- int
- float
- True
- False
- None
例
PythonオブジェクトをJSON文字列に変換し、値を出力します。
import json
print(json.dumps({"name": "ジョン", "age": 30}))
print(json.dumps(["りんご", "バナナ"]))
print(json.dumps(("りんご", "バナナ")))
print(json.dumps("こんにちは"))
print(json.dumps(42))
print(json.dumps(31.76))
print(json.dumps(True))
print(json.dumps(False))
print(json.dumps(None))
PythonからJSONに変換すると、Pythonオブジェクトは同等のJSON(JavaScript)に変換されます。
Python | JSON |
---|---|
dict | Object |
list | Array |
tuple | Array |
str | String |
int | Number |
float | Number |
True | true |
False | false |
None | null |
例
すべての有効なデータ型を含むPythonオブジェクトを変換します
import json
x = {
"name": "ジョン",
"age": 30,
"married": True,
"divorced": False,
"children": ("アン","ビリー"),
"pets": None,
"cars": [
{"model": "BMW 230", "mpg": 27.5},
{"model": "Ford Edge", "mpg": 24.1}
]
}
print(json.dumps(x))
結果のフォーマット
上の例ではJSON文字列を出力しますが、インデントや改行がないため、読みにくくなっています。
json.dumps()
メソッドには、結果を読みやすくするためのパラメーターがあります。
区切り文字を定義することもできます。デフォルト値は(", ", ": ")です。これは、各オブジェクトを区切るためにカンマとスペースを使用し、キーと値を区切るためにコロンとスペースを使用することを意味します。
結果の順番
json.dumps()
メソッドには、結果内のキーを並べ替えるパラメーターがあります。
プログラミング学習を加速させる
プログラミングをプロの講師に教えてもらいませんか。