Python | json.dumps()とjson.loads()でjsonのエンコードとデーコード
このページはPythonでjsonのエンコードとデーコードを実行する基本的な書き方を紹介しています。
目次
jsonライブラリのインポート
Pythonでjsonのエンコードとデーコードなどの変換処理を扱うのに必要な標準ライブラリの「json」をインポートしておきます。
import json
json.dumps()で辞書をjsonにエンコード
json.dumps()
を使って辞書をjsonにエンコードするサンプルコードです。
import json
# 辞書
dict_data = {"fruits": {"apple": "300", "orange": "100", "pine": None}}
# 辞書をjsonにエンコード
json_data = json.dumps(dict_data)
print(json_data)
# {"fruits": {"orange": "100", "apple": "300", "pine": null}}
Pythonで使うNoneがjsonにエンコードされた際にnullに変わっています。
利用可能なオプション引数
json.dumps()
で利用可能なオプション引数には「sort_keys」と「indent(インデント)」があります。
オプション引数 | デフォルト | 説明 |
---|---|---|
sort_keys | False | キーの並び替え設定、Trueだと作成時のまま? |
indent | 0 | インデントの付与、4くらいが見やすい |
ensure_ascii | False | |
separators |
目視することのあるファイルに保存する場合はインデントを付けておくと見やすい。
オプション引数を指定
import json
# 辞書
dict_data = {"fruits": {"apple": "300", "orange": "100", "pine": None}}
# 辞書をjsonにエンコード
json_data = json.dumps(
dict_data, sort_keys=True, indent=4, ensure_ascii=False, ensure_ascii=False
)
print(json_data)
# {
# "fruits": {
# "apple": "300",
# "orange": "100",
# "pine": null
# }
# }
※ブラウザで確認している場合は、ページのソースコード表示にてインデントの付き方が確認できます。
json.loads()でjsonを辞書にエンコード
json.loads()
を使ってjsonを辞書型にエンコードするサンプルコードです。
import json
# json
json_data = '{"fruits": {"orange": "100", "apple": "300", "pine": null}}'
# jsonを辞書にデコード
dict_data = json.loads(json_data)
print(dict_data)
# {'fruits': {'orange': '100', 'apple': '300', 'pine': None}}
エンコードとは逆にnullはNoneに変換されています。
ディスカッション
コメント一覧
まだ、コメントがありません