2015-10-02 4 views
45

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

私の理解から、JSONは辞書に読み込まれ、別のものはオブジェクトに読み込まれます。

+8

例はIMOかなり明確です:https://docs.python.org/2/library/json.html –

答えて

70

dumpsファイルの代わりに、文字列に/から読み取り/書き込みオブジェクトを受け取り、文字列を生成します。

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

load、ファイルのようなオブジェクトを取る読んでいましたそのオブジェクトからのデータ、およびオブジェクトを作成するために、その文字列を使用します。

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

dumpとことはファイルとオブジェクトの間で変換し、dumpsloads文字列とオブジェクトの間で変換します。あなたはs機能のラッパーとしてs -less機能と考えることができます:

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

def load(fh): 
    return loads(fh.read()) 
+1

このデータをどのようにすることができますか?[u'checkout \\。google \\。com '、u'wallet \\。google \\。com]] '[' checkout.google.com '、' wallet.google.com '] 'リストに –

29

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

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

負荷とダンプ - >

+3

> JSONダンプ - >は、dictからjsonオブジェクトを表す文字列を返します。 これは近いですが、json.dumps()に渡すdictである必要はありません。リスト、文字列、またはブール値を渡すことができます。 – Ross

関連する問題