【发布时间】:2017-01-29 01:26:12
【问题描述】:
我是 python 新手(和一般的编码),我已经做到了这一点,但我遇到了麻烦。我正在查询一个 Web 服务,该服务返回一个包含每个员工信息的 json 文件。我只想为每个员工提取几个属性,但我遇到了一些麻烦。
到目前为止我有这个脚本:
import json
import urllib2
req = urllib2.Request('http://server.company.com/api')
response = urllib2.urlopen(req)
the_page = response.read()
j = json.loads(the_page)
print j[1]['name']
它返回的 JSON 如下所示...
{
"name": bill jones,
"address": "123 something st",
"city": "somewhere",
"state": "somestate",
"zip": "12345",
"phone_number": "800-555-1234",
},
{
"name": jane doe,
"address": "456 another ave",
"city": "metropolis",
"state": "ny",
"zip": "10001",
"phone_number": "555-555-5554",
},
您可以看到,使用脚本,我可以返回索引 1 中的员工姓名。但我想要更多类似的内容:print j[**0 through len(j)**]['name'],以便打印出姓名(最好是电话号码也)json列表中的每个员工。
我很确定我做错了什么,但我需要一些反馈和指导。
【问题讨论】:
-
您是否尝试过使用 for 循环来检查您的数据并获取您的员工信息?提示,当您执行
j[0]时,正如您所指出的,您正在指定list的索引。因此,如果您简单地遍历该j,则每次迭代都将成为您的字典,并且您可以通过每次迭代访问您的数据。 -
您的示例 JSON 错误。将其包裹在
[ ... ]中
标签: python json python-2.7 dictionary urllib2