将json文件保存到计算机python

Posted

技术标签:

【中文标题】将json文件保存到计算机python【英文标题】:Saving a json file to computer python 【发布时间】:2013-07-08 03:51:48 【问题描述】:

在 Python 中使用 requests 我正在执行一个 GET,请求一个 JSON 文件,稍后我可以使用命令 solditems.json() 访问和修改、调整等。但是我想将此 JSON 文件保存到我的计算机上。浏览请求文档我一无所获,有没有人有一个简单的方法可以做到这一点?

【问题讨论】:

【参考方案1】:

您可以像没有requests 那样做。您的代码可能类似于,

import json
import requests

solditems = requests.get('https://github.com/timeline.json') # (your url)
data = solditems.json()
with open('data.json', 'w') as f:
    json.dump(data, f)

【讨论】:

没有充分的理由反序列化然后重新序列化 JSON。只需将solditems.content 直接写入文件即可。 我的印象是 OP 会在写入文件之前对其进行调整。 “访问和修改、调整等”。这只是一个例子:) 只是添加信息:我们不需要先创建data.json,因为这个答案会自动生成data.json。【参考方案2】:

使用标准库的新 pathlib 库也很容易做到这一点。请注意,此代码纯粹是“将 HTTP 响应的字节写入文件”。它很快,但它没有验证您正在编写的字节是有效的 JSON。

import requests
import pathlib

solditems = requests.get('https://github.com/timeline.json') # (your url)
pathlib.Path('data.json').write_bytes(solditems.content)

【讨论】:

【参考方案3】:

根据@Lukasa 的评论,这加速了@Jared 的解决方案:

import requests

solditems = requests.get('https://github.com/timeline.json') # (your url)
data = solditems.content
with open('data.json', 'wb') as f:
    f.write(data)

【讨论】:

以上是关于将json文件保存到计算机python的主要内容,如果未能解决你的问题,请参考以下文章

如何将python dicts列表保存到具有垂直显示的json文件中[重复]

Python:将 API 结果保存到 json 文件中? [复制]

python 如何将字典对象保存到json文件的示例

保存数据到文件的模块(configparser,json,pickle,shelve,xml)_python

如何将信息作为数组python保存到json

使用 Python,将 google.cloud.bigquery.job.query.QueryJob 输出保存到本地 JSON 文件