【发布时间】:2018-10-19 13:25:28
【问题描述】:
我正在尝试以 JSON 格式存储来自 API 的响应。我得到了字符串格式的 JSON 响应并存储在一个文件中。正如我们在 onlineJSONViewer 应用程序中看到的那样,如何使用缩进进行制作或转换?或 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 char 和没有缩进的结果相同
任何人都可以帮助我吗?是否有任何可以进行格式工作的库或任何代码来提供帮助。
【问题讨论】:
-
你可以传递 indent 参数,其值为 int
-
对不起,你能详细解释一下我不知道如何使用 int
-
@dow 阅读手册会更快