Python 加载、转储和读取json文件有什么不同?
我有一个简单的json文件“stackoverflow.json” { “firstname”:“stack”, “lastname”:“溢出” } 以下两个功能之间有什么不同:Python 加载、转储和读取json文件有什么不同?,python,json,Python,Json,我有一个简单的json文件“stackoverflow.json” { “firstname”:“stack”, “lastname”:“溢出” } 以下两个功能之间有什么不同: def read_json_file_1(): with open('stackoverflow.json') as fs: payload = ujson.loads(fs.read()) payload = ujson.dumps(payload) return pa
def read_json_file_1():
with open('stackoverflow.json') as fs:
payload = ujson.loads(fs.read())
payload = ujson.dumps(payload)
return payload
def read_json_file_2():
with open ('stackoverflow.json') as fs:
return payload = fs.read()
然后我使用'requests'模块发送post resquest,其中包含来自上述2个函数的有效负载,这两个函数都适用
谢谢。函数获取一个json文件,并根据确切的json文件将其转换为字典或列表。 “dumps”采用python数据结构,并将其转换回json 因此,第一个函数加载并验证json,将其转换为python结构,然后在返回之前将其转换回json,而第二个函数只读取文件内容,不进行任何转换或验证
因此,只有在json有效的情况下,函数才是等效的-如果存在json错误,则两个函数的执行方式将非常不同。如果您知道该文件包含无错误的json,则两个文件应返回等效的输出,但是,如果该文件包含json中的错误,则第一个函数将失败,并显示相关的错误回溯等,第二个函数根本不会生成任何错误。第一个函数更容易出错,但效率较低(因为它转换json->python->json)。第二个函数效率更高,但错误友好程度更低(即,如果json被破坏,它不会失败).如果这个答案有帮助,你能投票接受这个答案吗