python - 我如何从这个 json 响应中提取某些数据?

标签 python json

这是我在 python 中打开的链接:

response = urllib.request.urlopen('http://freegeoip.net/json/1.2.3.4').read()

print(response)

打印响应后给出结果:

b'{"ip":"1.2.3.4","country_code":"US","country_name":"United States","region_code":"WA","region_name":"Washington","city":"Mukilteo","zip_code":"98275","time_zone":"America/Los_Angeles","latitude":47.913,"longitude":-122.305,"metro_code":819}\n'

我的问题是,如何只打印区域名称?到目前为止我有这个代码:

import json
import urllib.request
response = urllib.request.urlopen('http://freegeoip.net/json/1.2.3.4').read()
print(response)
result = json.loads(response.decode('utf8'))

这是提取我所坚持的特定数据的最后一位。提前致谢!

最佳答案

从 json.loads 返回的结果对象将是一个字典,因此您可以像这样打印值:

print result['region_name']

或者甚至更好,更具防御性,如果该 key 不存在:

print result.get('region_name', 'No region specified')

另请注意,您的 urllib 调用应该是:

response = urllib.urlopen('http://freegeoip.net/json/1.2.3.4').read()

关于python - 我如何从这个 json 响应中提取某些数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28440953/

相关文章:

ios - 如何使用实体创建 JSON 以在 Swift3 iOS 中发布?

javascript - 将 Python 数组传递给 javascript?

python - 与实时 matplotlib 图交互

javascript - 如何找到包含这些ID的数组元素?

json - Linux bash 解析 json : Get first & last date

python - 对 Google Safe Browsing API v4 和 Python 请求的意外响应

python - 如何在 Pandas 中设置第一列和第一行作为索引?

python - 我怎样才能简化我的 python 测验? (让它更短)

python - 如何使用PIL保存为32*32或64*64的ICO图像

java - 如何在 Java 中从 Stripe 接收 Webhook