【Python】loadとloads、dumpとdumpsの使い方を解説

コードを入力するとき、ロードとロード、ダンプとダンプを使用することがありますが、それらを十分に理解していないと、簡単にコードにバグが発生します。

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 形式にエンコードするために使用されます。ニーズに応じて、自分に合った機能を選択して使用できます。

 

おすすめ

転載: blog.csdn.net/weixin_43569834/article/details/131197012