python - 如何使用 python 从 youtube v3 api 修复 json?
问题描述
我正在使用 youtube v3 api 从 youtube 频道获取 youtube 数据,并且我正在尝试使其输出的 json 有效。我已经用双引号替换了所有单引号,但我唯一的问题是 json 有一个根本没有引号的项目。这是我的蟒蛇:
from googleapiclient.discovery import build
import json
api_key = "XXXXXXXXXX"
youtube = build('youtube', 'v3', developerKey=api_key)
request = youtube.channels().list(
part='statistics',
id="UCZuwBN1DWfgObYprETYk0eg"
)
response = request.execute()
responsestring = str(response)
replaced = responsestring.replace("'", '"')
print(replaced)
yes = json.loads(replaced)
#responsejson = json.loads(responsestring)
#^this fails because of the invalid json
这是输出的json:
{"kind": "youtube#channelListResponse", "etag": "QHkx_kkeJgXRDHWbuMXUaYyQ3EQ", "pageInfo": {"totalResults": 1, "resultsPerPage": 5}, "items": [{"kind": "youtube#channel", "etag": "WXRPwYh-SXn_vwy93t3wnzu99gM", "id": "UCZuwBN1DWfgObYprETYk0eg", "statistics": {"viewCount": "3512315", "subscriberCount": "58600", "hiddenSubscriberCount": False, "videoCount": "151"}}]}
有没有办法让它在 False 或 True 上有双引号?(或者只是没有双引号的任何东西都有双引号)。如果您提供帮助,请提前致谢。
解决方案
首先输出不是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
出去:
{'kind': 'youtube#channelListResponse',
'etag': '85jouxT6VPwZltMItbtqSpICBgE',
'pageInfo': {'totalResults': 1, 'resultsPerPage': 5},
'items': [{'kind': 'youtube#channel',
'etag': 'gkhgrDmYZaof9gPHKNeDSEtRiBY',
'id': 'UCZuwBN1DWfgObYprETYk0eg',
'statistics': {'viewCount': '3512365',
'subscriberCount': '58600',
'hiddenSubscriberCount': False,
'videoCount': '151'}}]}
推荐阅读
- javascript - 从按钮复制隐藏字段的值
- reactjs - 在反应中,一些关键字没有定义,但我想我定义了它们
- javascript - 如何通过按钮复制卡片中的对象
- visual-studio-code - 如何修复在vscode中等待键和弦
- angular - 带有 Strapi 的 NgRx 数据(getByKey):无法解构“sourceError”Strapi 的属性“错误”
- python - 当我尝试编写代码以查找第一次出现的查询时,运行无限循环的 Jovian DSA 二进制搜索问题
- javascript - 检查一周是否在两周之间
- php - 不分大小写,检查char是否与字母条件相同 | PHP 和 HTML
- python - Python 根据文件数量对目录进行排序,Stanford Dogs Dataset Pytorch
- node.js - MacOS 上的 Nuxt JS SSL 服务器安装问题