我想将API的响应以JSON格式存储。我已经得到了以字符串形式呈现的JSON响应,并将其存储在了文件中。我该如何使它有缩进,就像在线JSON查看器应用程序中那样?还是以JSON格式呈现。
我用来存储文件的代码:
def test_url(self):
resp =requests.get(www.myurl.com)
data = resp.text
f = open("19octfile.json", "w")
f.write(data)
f.close()
这段代码将响应以以下格式存储到19octfile.json文件中:
{"data": [{"id":"myname","id":"123","name":"myname","user":"m3","provider":"user","region":"india"}]}
现在,我该怎么以JSON格式存储响应并缩进,这样用户在阅读时就能更容易地理解呢?
我尝试了不同的方法,但都没有成功:
with codecs.open('data.json', 'w', 'utf8') as f:
f.write(json.dumps(data, sort_keys=True, ensure_ascii=False))
这段代码输出结果与使用 Unicode 字符但无缩进的代码相同
with open('17octenv71232111.json', 'w') as outfile:
json.dump(data,outfile)
outfile.close()
这段代码与Unicode字符和无缩进的代码产生相同的结果
请问是否有任何库可以完成格式化工作或者提供任何代码帮助。