Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 尝试将Json输出存储为要传递给字典的变量_Python_Json - Fatal编程技术网

Python 尝试将Json输出存储为要传递给字典的变量

Python 尝试将Json输出存储为要传递给字典的变量,python,json,Python,Json,因此,我正在处理来自漏洞扫描程序的API请求。我想接受一个json请求并将其传递给dictionary。这样,我们可以让用户选择他们可以从哪个“位置”提取漏洞。所以我的最终目标是获取一个json输出,存储它以便我们可以对其进行排序。我得到这个错误: TypeError: Object of type 'TextIOWrapper' is not JSON serializable 我认为我对json.loadsvsjson.dumps的使用让我很头疼 import requests impor

因此,我正在处理来自漏洞扫描程序的API请求。我想接受一个
json
请求并将其传递给dictionary。这样,我们可以让用户选择他们可以从哪个“位置”提取漏洞。所以我的最终目标是获取一个
json
输出,存储它以便我们可以对其进行排序。我得到这个错误:

TypeError: Object of type 'TextIOWrapper' is not JSON serializable
我认为我对
json.loads
vs
json.dumps
的使用让我很头疼

import requests
import json

headers = {
    'Content-Type': 'application/json', 'Authorization': 'Basic ApiKey'}


response = requests.get('url', headers=headers)
projects = response.json
print(projects())

#data = response
with open('projects.json','r') as read_file:
     contents = json.loads(read_file)

~

json.load()
json.load
的方式上存在差异,最重要的是,对于您的情况,您需要
json.load()
,因为它将文件读入python字典,而
json.load
将json文件读入字符串。因此,您的代码应该是:

with open(url, "r") as read_file:
contents = json.load(read_file)

由于使用的是打开的文件对象,请改用
.load()
.loads()
用于字符串。
projects=response.json
-->
projects=response.json()