反序列化复杂JSON(Python)

2024-09-30 10:36:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我在仅使用请求库对json文件进行反序列化时遇到了一个问题,我没有找到任何可以帮助我的东西。json文件有多个同名的类型,我的目的是只包含第一个块的内容。在

这是我使用的函数的代码:

def toId(nome):
     api = "https://api.deezer.com/search/track?q=" + nome
     bas1 = requests.get(api)
     for element in bas1.json():
         tit = element['title_short']
     return tit

我想在第一个块中得到歌曲的标题(标题:“迭戈·阿曼多·马拉多纳”),但我不能得到它,因为有超过1个元素的类型为“标题”;我也得到了错误(类型错误:字符串索引必须是整数 ). 在

JSON structure

我该怎么办?谢谢你的帮助


Tags: 文件函数目的apijson标题类型内容
1条回答
网友
1楼 · 发布于 2024-09-30 10:36:58

I would like to get the title of the song in the first block

首先,歌曲列表位于由data键控的对象中,然后您需要选择正确的一首:

将其转换为代码:

songs = bas1.json()['data']
return songs[0]['title_short']

但您可能需要检查是否有任何,因此:

^{pr2}$

在当前代码中,如果列表中没有歌曲(即返回的数据是[]),则会遇到一个错误,因为tit将在return行取消分配。在

相关问题 更多 >

    热门问题