Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/325.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修复youtube v3 api中的json?_Python_Json_Api_Youtube - Fatal编程技术网

如何使用python修复youtube v3 api中的json?

如何使用python修复youtube v3 api中的json?,python,json,api,youtube,Python,Json,Api,Youtube,我使用youtube v3 api从youtube频道获取youtube数据,并尝试使其输出的json有效。我已经用双引号替换了所有的单引号,但我唯一的问题是json中有一个项目根本没有引号。 这是我的python: 来自GoogleAppClient.discovery导入生成的 导入json api_key=“XXXXXXXXX” youtube=build('youtube','v3',developerKey=api_) request=youtube.channels().list(

我使用youtube v3 api从youtube频道获取youtube数据,并尝试使其输出的json有效。我已经用双引号替换了所有的单引号,但我唯一的问题是json中有一个项目根本没有引号。 这是我的python:

来自GoogleAppClient.discovery导入生成的

导入json
api_key=“XXXXXXXXX”
youtube=build('youtube','v3',developerKey=api_)
request=youtube.channels().list(
第‘‘统计’部分,
id=“UCZuwBN1DWfgObYprETYk0eg”
)
response=request.execute()
responsestring=str(响应)
已替换=响应字符串。替换(“,”)
打印(已替换)
yes=json.loads(已替换)
#responsejson=json.load(responsestring)
#^由于json无效,此操作失败
下面是输出的json:

{“种类”:“youtube#频道列表响应”,“etag”:“QHkx”{“totalResults”:1,“resultsPerPage”:5},“条目”:[{“种类”:“youtube#频道”,“etag”:“WXRPwYh-SXn-vwy93t3wnzu99gM”,“id”:“UCZuwBN1DWfgObYprETYk0eg”,“统计数据”:{“viewCount”:“3512315”,“SubscribeCount”:“58600”,“HiddenberCount”:False,”videoCount:“151”}]}

有没有办法使False或True上有双引号?(或者任何没有双引号的东西都有双引号)。如果您提供帮助,请提前感谢。

首先,输出不是JSON;它是一个字典。您可以通过执行
键入(响应)
进行检查。 在大多数情况下,第二个字典应该可以正常工作。如果您仍然想将其转换为JSON,则必须使用
JSON.dumps
。下面是代码

# Convert dict to JSON
response_JSON = json.dumps(response)
# try to load JSON
json_load = json.loads(response_JSON)
json_load
输出:


首先,输出不是JSON;它是一个字典。您可以通过执行
type(response)
进行检查。 在大多数情况下,第二个字典应该可以正常工作。如果您仍然想将其转换为JSON,则必须使用
JSON.dumps
。下面是代码

# Convert dict to JSON
response_JSON = json.dumps(response)
# try to load JSON
json_load = json.loads(response_JSON)
json_load
输出:


事实上,我把DICT变成了一个字符串,但是我会尝试的。好的,谢谢。而且如果可能的话,请考虑生成一个新的API密钥。因为当前的一个被暴露在互联网上。我会的,谢谢你告诉我我没有看到。我实际上把DICT变成了一个字符串,但是我会试试这个。好的,很好,谢谢!也请考虑下一代。如果可能的话,请给我一个新的api密钥。因为当前的api密钥暴露在互联网上。我会的,谢谢你告诉我我没有看到。