web-dev-qa-db-ja.com

Json.dumpsとjson.loadの違いは何ですか?

json.dumpsjson.loadの違いは何ですか?

私の理解では、JSONを辞書にロードし、もう1つをオブジェクトにロードします。

109
AnMaree

dumpsはオブジェクトを受け取り、文字列を生成します。

>>> a = {'foo': 3}
>>> json.dumps(a)
'{"foo": 3}'

loadはファイルのようなオブジェクトを受け取り、そのオブジェクトからデータを読み込み、その文字列を使ってオブジェクトを作成します。

with open('file.json') as fh:
    a = json.load(fh)

dumploadはファイルとオブジェクト間の変換を行い、dumpsloads strings とオブジェクト間の変換を行います。 s関数のラッパーとしてsless関数を考えることができます。

def dump(obj, fh):
    fh.write(dumps(obj))

def load(fh):
    return loads(fh.read())
151
chepner

json loads - >は、jsonオブジェクトを表す文字列からオブジェクトを返します。

json dumps - >は、オブジェクトからjsonオブジェクトを表す文字列を返します。

ロードとダンプ - >文字列ではなくファイルへの読み書き

60
stackhelper101