Pythonの辞書をJSON形式で出力・表示する方法
JSONとは
JSON(JavaScript Object Notation)は、データをテキスト形式で表現するための軽量なデータ交換フォーマットです。Web APIや設定ファイルなど、さまざまな場面で広く利用されています。
jsonモジュールとdumps()関数
Pythonには標準ライブラリとしてjsonモジュールが用意されており、JSONデータのエンコード(書き出し)とデコード(読み込み)を簡単に行うことができます。
このモジュールのdumps()関数を使用すると、Pythonの辞書オブジェクトをそのままJSON形式の文字列に変換できます。
基本的な使い方
D1={"pen":25, "pencil":10, "book":100, "sharpner":5, "eraser":5}
>>> import json
>>> j=json.dumps(D1)
>>> j
'{"pen": 25, "pencil": 10, "book": 100, "sharpner": 5, "eraser": 5}'上記のように、辞書D1がJSON形式の文字列として変換されていることがわかります。
indent引数で整形して表示する
dumps()関数にindent引数を指定すると、インデント付きの読みやすい形式で出力できます。
>>> print(json.dumps(D1, indent=2))
{
"pen": 25,
"pencil": 10,
"book": 100,
"sharpner": 5,
"eraser": 5
}このように、Pythonの辞書とJSONは相互に変換できるため、API通信やファイルへのデータ保存などで非常に便利です。
-
JSONオブジェクトをPython関数の引数として渡す方法
Pythonでは、JSON形式の文字列をそのまま関数に渡し、関数内でjson.loads()を使って辞書(dict)に変換して扱うことができます。以下に、JSONオブジェクトを関数のパラメータとして渡す基本的な例を示します。サンプルコードimport json json_string = {name:Rupert, age: 25, desig:developer} print type(json_string) def func(strng): a = json.loads(strng) print type(a) for k, v in a.iteritems(
-
Python関数からJSONオブジェクトを返す方法をわかりやすく解説
Pythonの関数からJSONオブジェクト(JSON形式の文字列)を返すには、標準ライブラリの json モジュールに含まれる json.dumps() 関数を使用します。この関数は、Pythonの辞書(dict)などのオブジェクトをJSON形式の文字列へ変換(シリアライズ)してくれます。 基本的な例 以下は、Pythonの辞書をJSON文字列に変換して返す関数のシンプルな例です。 import json # Pythonの辞書 a = {name: Sarah, age: 24, isEmployed: True} def retjson(): python2json = jso