python - 如何从 JSON 数据中解析数据?
问题描述
我从 DarkSky(天气 API)收到了大量数据,我想获得"summary"
.
它应该是 JSON 格式,然后我已经翻译成字典。但是,python 将其识别"data"
为列表,而不是字典。我将如何"summary"
从这些数据中获取价值?
darkSkyURL ="https://api.darksky.net/forecast/###Key has Been Removed###/{},{},{}?exclude=minutely,currently,flags,hourly".format(latitude, longitude, unixTime) #creates appropriate url, using known Long, Lang and current epoch time. These values are formatted into the url
darkSkyReport = requests.get(darkSkyURL)
darkSkyData = darkSkyReport.json()
print(darkSkyData["daily"]["data"]["summary"]))
解析后的数据如下:
{
'latitude': REMOVED,
'longitude': REMOVED,
'timezone': 'Europe/London',
'daily': {
'data': [{
'time': 1568156400,
'summary': 'Mostly cloudy throughout the day.',
'icon': 'rain',
'sunriseTime': 1568180039,
'sunsetTime': 1568226922,
'moonPhase': 0.43,
'precipIntensity': 0.0059,
'precipIntensityMax': 0.0392,
'precipIntensityMaxTime': 1568160000,
'precipProbability': 0.71,
'precipType': 'rain',
'temperatureHigh': 65.89,
'temperatureHighTime': 1568210400,
'temperatureLow': 53.98,
'temperatureLowTime': 1568268000,
'apparentTemperatureHigh': 65.89,
'apparentTemperatureHighTime': 1568210400,
'apparentTemperatureLow': 53.98,
'apparentTemperatureLowTime': 1568268000,
'dewPoint': 50.7,
'humidity': 0.72,
'pressure': 1016.26,
'windSpeed': 14.02,
'windGust': 36.33,
'windGustTime': 1568206800,
'windBearing': 254,
'cloudCover': 0.54,
'uvIndex': 4,
'uvIndexTime': 1568203200,
'visibility': 6.776,
'ozone': 272.7,
'temperatureMin': 53.14,
'temperatureMinTime': 1568160000,
'temperatureMax': 65.89,
'temperatureMaxTime': 1568210400,
'apparentTemperatureMin': 53.14,
'apparentTemperatureMinTime': 1568160000,
'apparentTemperatureMax': 65.89,
'apparentTemperatureMaxTime': 1568210400
}]
},
'offset': 1
}
解决方案
数据数组中的索引然后加载摘要对象
darkSkyURL ="https://api.darksky.net/forecast/###Key has Been Removed###/{},{},{}?exclude=minutely,currently,flags,hourly".format(latitude, longitude, unixTime) #creates appropriate url, using known Long, Lang and current epoch time. These values are formatted into the url
darkSkyReport = requests.get(darkSkyURL)
darkSkyData = darkSkyReport.json()
summary = darkSkyData["daily"]["data"][0]["summary"]
推荐阅读
- c# - XmlNode AppendChild 适用于 C# 但不适用于 VB.Net
- bash - 使用 jq 在 bash 中序列化和反序列化关联数组
- javascript - 如何将 HTML 表单中的日期类型输入传递到 express 变量中?
- java - 使用 Java 将大文件读取到 GCP
- android - 将标记(GPS)移动到下一条街道
- ios - 为银行账户信息创建令牌 Stripe
- javascript - 使用 Reactjs 和 Yii2 Api 上传文件
- google-bigquery - 为什么 Google-BigQuery 中没有加入修剪?
- sas - 如何将 2018 年 9 月 15 日 12:00 字符转换为日期时间?
- javascript - 如何在 JavaScript 中按 4 个属性排序