Pythonでのjson.dumps()とjson.dump()の違い[解決策:TypeError:dump()に1つの必要な位置引数がありません: 'fp']
Difference Between Json
まず第一に、json.dump()は一般的にめったに使用されません。このような問題は通常、入力時に注意を払わないことが原因で発生し、dumps()が誤ってdump()と書き込まれます。
(1)機能:
- dumps()はdictをstr形式に変換し、loadsはstrをdict形式に変換します
- dump()とload()にも同様の関数がありますが、それらをファイル操作と組み合わせます
import json data = { 'no': 1, 'name':'guobaoyan', 'url':'http://runoob.com' } json_str = json.dumps(data) print('Python raw data:', repr(data)) print('JSON Object:', json_str) # Python raw data: {'no': 1,'name':'guobaoyan','url':'http://runoob.com'} # JSON object: {'no': 1, 'name': 'guobaoyan', 'url': 'http://runoob.com'}
(2)違い:
dump()は、ファイルを操作するためのパラメーターを必要とします
- dump()関数はdictをstrに変換し、それをファイルに保存します
- dumps()関数は、保存せずにdictをstrに変換します
import json data = { 'no': 1, 'name':'guobaoyan', 'url':'http://runoob.com' } json_str = json.dumps(data) print('Python raw data:', repr(data)) print('JSON Object:', json_str) # Python raw data: {'no': 1,'name':'guobaoyan','url':'http://runoob.com'} # JSON object: {'no': 1, 'name': 'guobaoyan', 'url': 'http://runoob.com'} # Open in the file to see json_str1 = json.dump(data, open('str1.txt', 'w'))