2016-09-27 11 views
32

Pythonで、の違いは何ですか?json.load()json.loads()の違いは何ですか?Pythonのjson.load()関数とjson.loads()関数の違いは何ですか?

Iは負荷()関数は、ファイルオブジェクト(Iコンテキストマネージャを使用することが必要)負荷が()関数は、文字列としてファイルへのパスをとりながら一緒に使用しなければならないことを推測します。それは少し混乱しています。

json.loads()の文字 "は" 文字列の略ですか?

ありがとうございます!

+0

ためloadsあなたはこれらのメソッドのドキュメントを読んだことがあり、ファイルのためにあるのですか? – JJJ

+0

* 'json.loads(s、*)' - 's'(JSON文書を含む' str'、 'bytes'または' bytearray'インスタンス)をデシリアライズする* - https://docs.python.org/3.6/ library/json.html – deceze

答えて

37

はい、文字列を表します。 json.loads関数はファイルパスを取得せず、ファイルの内容を文字列として受け取ります。 https://docs.python.org/2/library/json.htmlのドキュメントをご覧ください!

+3

リンクされた記事が誤ったpythonバージョンを指しています。質問は2.7とタグ付けされています。 – RvdK

+1

ありがとう、それを修正しました。 – Gijs

14

ドキュメントは非常に明確である:https://docs.python.org/2/library/json.html

json.load(fp[, encoding[, cls[, object_hook[, parse_float[, parse_int[, parse_constant[, object_pairs_hook[, **kw]]]]]]]]) 

デシリアライズFP(.read() - JSON文書を含むファイルのようなオブジェクトを支持する)、この変換テーブルを用いてPythonオブジェクトに。

json.loads(s[, encoding[, cls[, object_hook[, parse_float[, parse_int[, parse_constant[, object_pairs_hook[, **kw]]]]]]]]) 

デシリアライズのこの変換テーブルを用いてPythonオブジェクトに(STRまたはUnicodeインスタンスJSON文書を含む)

だからloadstring

関連する問題