コードを入力するとき、ロードとロード、ダンプとダンプを使用することがありますが、それらを十分に理解していないと、簡単にコードにバグが発生します。
json
このモジュールには一般的に使用される 4 つの関数があります。
json.load(fp, *, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw)
:fp
ファイルハンドルから JSON データを読み取り、デコードします。json.loads(s, *, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw)
:s
文字列内の JSON データをデコードします。json.dump(obj, fp, *, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, default=None, sort_keys=False, **kw)
:obj
Python オブジェクトを JSON 形式に変換した後、ファイル ハンドルを記述しますfp
。json.dumps(obj, *, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, default=None, sort_keys=False, **kw)
:obj
Python オブジェクトを JSON 形式の文字列に変換します。
その中で、
load()
およびloads()
関数は JSON データを Python オブジェクトにデコードするために使用され、dump()
およびdumps()
関数は Python オブジェクトを JSON 形式にエンコードするために使用されます。これら 4 つの機能については、以下で詳しく説明します。
1、ロード
load()
この関数は、ファイル オブジェクトを開き、それを JSON 形式の文字列データとして読み取り、Python オブジェクトに変換できます。その構文は次のとおりです。
import json
with open('data.json', 'r') as f:
data = json.load(f)
その中には、
data.json
読み取る必要がある JSON ファイルがあります。上記のコードでは、Pythonwith...as...
ステートメントを使用してファイル ハンドルを自動的に閉じます。次に、data
を操作できます。
2、負荷
loads()
この関数は JSON 文字列データを Python オブジェクトにデコードします。その構文は次のとおりです。
import json
json_str = '{"name": "Alice", "age": 18}'
data = json.loads(json_str)
上記のコードでは、2 つのキーと値のペアを含む JSON 文字列が
{"name": "Alice", "age": 18}
Python オブジェクトにデコードされ、 に割り当てられますdata
。
3、ダンプ
dump()
この関数は、Python オブジェクトを JSON 形式に変換し、ファイルに書き込みます。その構文は次のとおりです。
import json
data = {'name': 'Alice', 'age': 18}
with open('data.json', 'w') as f:
json.dump(data, f)
上記のコードでは、2 つのキーと値のペアを含む辞書オブジェクトが
{'name': 'Alice', 'age': 18}
JSON 形式に変換され、ファイルに書き込まれますdata.json
。
4、ダンプ
dumps()
この関数は Python オブジェクトを JSON 形式の文字列に変換します。その構文は次のとおりです。
import json
data = {'name': 'Alice', 'age': 18}
json_str = json.dumps(data)
上記のコードでは、2 つのキーと値のペアを含む辞書オブジェクトが
{'name': 'Alice', 'age': 18}
JSON 形式の文字列に変換され、 に割り当てられますjson_str
。
dump()
関数とdumps()
関数は同じ効果がありますが、パラメータが若干異なることに注意してください。たとえば、dump()
関数はファイル ハンドルが渡されることを期待しますが、dumps()
関数は唯一の引数として Python オブジェクトのみを必要とします。要約すると、
load()
およびloads()
関数は JSON データを Python オブジェクトにデコードするために使用され、dump()
およびdumps()
関数は Python オブジェクトを JSON 形式にエンコードするために使用されます。ニーズに応じて、自分に合った機能を選択して使用できます。