Python JSON
- 前のページ Python 日期
- 次のページ Python RegEx
JSONはデータの保存および交換に使用される構文です。
JSONはJavaScriptオブジェクト記法(JavaScript object notation)で書かれたテキストです。
PythonのJSON
Pythonには、 json
のビルティン packを、JSONデータの処理に使用できます。
例
インポート json
モジュール:
import json
JSON解析 - JSONをPythonに変換する
JSON文字列がある場合、それを使用することができます json.loads()
このメソッドを使用して解析します。
結果は Python ディクショナリになります。
例
JSON を Python に変換します:
import json # いくつかの JSON: x = '{ "name":"Bill", "age":63, "city":"Seatle"}' # x の解析: y = json.loads(x) # 結果は Python ディクショナリです: print(y["age"])
Python を JSON に変換します
Python オブジェクトがある場合、以下を使用できます: json.dumps()
このメソッドを使用して JSON 字符列に変換します。
例
Python を JSON に変換します:
import json # Python オブジェクト(辞書): x = { "name": "Bill", "age": 63, "city": "Seatle" } # 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": "Bill", "age": 63})) print(json.dumps(["apple", "bananas"])) print(json.dumps(("apple", "bananas"))) print(json.dumps("hello")) 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": "Bill", "age": 63, "married": True, "divorced": False, "children": ("Jennifer","Rory","Phoebe"), "pets": None, "cars": [ {"model": "Porsche", "mpg": 38.2}, {"model": "BMW M5", "mpg": 26.9} ] } print(json.dumps(x))
結果をフォーマット
上記の例では JSON 字符列を出力しますが、インデントや改行がないため読みやすくありません。
json.dumps()
メソッドは結果をより読みやすくするためのパラメータを提供します:
例
使用 indent
インデント数を定義するためのパラメータを
json.dumps(x, indent=4)
セパレータを定義することもできます。デフォルトの値は(", ", ": ")、これは各オブジェクトをカンマとスペースで区切ることを意味し、キーと値をカロンとスペースで分けることを意味します:
例
使用 separators
デフォルトのセパレータを変更するためのパラメータを
json.dumps(x, indent=4, separators=(". ", " = "))
結果をソート
json.dumps()
メソッドは結果のキーに対してソートを行うパラメータを提供します:
例
使用 sort_keys
結果に対してソートを行うかどうかを指定するためのパラメータを
json.dumps(x, indent=4, sort_keys=True)
- 前のページ Python 日期
- 次のページ Python RegEx