python - 如何解析JSON数据中的数据?

标签 python json darksky

我从 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"]

关于python - 如何解析JSON数据中的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57895250/

相关文章:

javascript - 使用正斜杠访问 JSON 键 NodeJS

php - 将 php 数据绘制到 Highmap : HighCharts

python - 语法错误: 'await' outside function

python - X 路径。如何选择两个标签之间的所有文本?

python - 如何从 Anaconda 5.2(使用 python 3.6.6)升级到 Anaconda 5.3(使用 python 3.7)

python - 如何使用 Pyspark Streaming 模块实现 RabbitMQ 消费者?

python - python 类可以返回其类的新实例吗?

java - Jackson:如何在不修改 POJO 的情况下将现有属性编辑为 JSON?