python - 无法获取 JSON 字典键

标签 python json python-3.x parsing dictionary

{
    "response": {
        "version": "0.1",
        "termsofService": "http://www.wunderground.com/weather/api/d/terms.html",
        "features": {
            "conditions": 1
        }
    },

    "current_observation": {
        "image": {
            "url": "http://icons.wxug.com/graphics/wu2/logo_130x80.png",
            "title": "Weather Underground",
            "link": "http://www.wunderground.com"
        },
        "display_location": {
            "full": "San Francisco, CA",
            "city": "San Francisco",
            "state": "CA",
            "state_name": "California",
            "country": "US",
            "country_iso3166": "US",
            "zip": "94102",
        }
    }
}

我试图解析上面的 json 数据并通过这样做获取“zip”值

j = json.loads(string)
keys = j.keys()
print(keys)
#current_observation

print(j['current_observation']['zip'])

然后我会得到这个错误

Traceback (most recent call last):
  File ".\wunder.py", line 17, in <module>
    print(j['current_observation']['zip'])
KeyError: 'zip'

所以我想做的就是解析 JSON 数据并获取 zip 值,但收效甚微。

最佳答案

您错过了由 display_location 映射的字典:

print(j['current_observation']['display_location']['zip'])

关于python - 无法获取 JSON 字典键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42604424/

相关文章:

php - 更新mysql中的序列化值

opengl - Blitted OpenGL 纹理占用更少的内存和 CPU

python - 如何判断服务器是否被锁定?

python - 将日期插入数据库时​​丢失微秒

asp.net-mvc - ASP.net MVC - 带有 DateTime 的模型,试图为 jqGrid 的 Json() 序列化

django - 为 python3 安装 django 时出现 SSL 错误

python-3.x - 无法导入tpot

python - 我如何或可以获取 python -mjson.tool 来维护属性的顺序

python - 如何快速分配一个python dict链?

javascript - 我如何浏览 json?