You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python 3从指定API的JSON数据中获取首个Speciality值

获取JSON数据中的第一个Speciality值

嘿,我来帮你搞定这个问题!你之前的代码只是拿到了API返回的原始JSON字符串,还没把它解析成Python能直接操作的数据结构,所以没法直接提取特定字段。咱们来修改一下代码,一步步实现你要的功能:

首先,你需要导入Python的json模块,它能把JSON字符串转换成字典,这样咱们就能通过键来访问对应的值了。下面是完整的代码:

import urllib.request
import json

url = 'http://data.ehealthireland.ie/api/3/action/datastore_search?resource_id=967673a3-1ce0-47e0-8e09-c876894ad489'
fileobj = urllib.request.urlopen(url)
# 把API返回的内容解析成Python字典
response_dict = json.load(fileobj)
# 按照JSON结构导航到第一个Speciality值
first_speciality = response_dict['result']['records'][0]['Speciality']
print(first_speciality)

代码解释:

  • json.load(fileobj):这一步把从API获取的原始字节流转换成了Python字典response_dict,这样咱们就能像操作普通字典一样访问里面的数据了。
  • response_dict['result']['records'][0]['Speciality']:这个路径是根据API返回的JSON结构来的:
    1. 先取result键对应的内容,这是API返回的核心数据区域
    2. 然后取records键,它是一个包含所有条目的列表
    3. 用[0]取列表里的第一个条目
    4. 最后取这个条目里的Speciality键,就是你要的第一个Speciality值啦

额外小建议:

为了避免API返回空列表时出现索引越界错误,你可以加个简单的判断:

import urllib.request
import json

url = 'http://data.ehealthireland.ie/api/3/action/datastore_search?resource_id=967673a3-1ce0-47e0-8e09-c876894ad489'
fileobj = urllib.request.urlopen(url)
response_dict = json.load(fileobj)

records = response_dict['result']['records']
if records:
    first_speciality = records[0]['Speciality']
    print(first_speciality)
else:
    print("没有找到任何记录哦")

这样就算API返回的记录为空,程序也能友好提示,不会崩溃~

内容的提问来源于stack exchange,提问作者Student of the Digital World

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 08:13:39