我有一个名为Profile
的Python对象,其first name
和last name
。我有一个名为Profiles
的数组,它是Profile
个对象的集合:
Profiles = []
Profile = {}
Profile['firstname'] = "foo"
Profile['lastname'] = "bar"
Profiles.append(Profile)
我需要将此数组作为json发布到Web服务,但是我只想发布firstname属性。
我发布了这样的数组:
response = urllib2.urlopen(req, json.dumps(Profiles))
如何修改我的代码只发布名字?我意识到我可以循环并创建一个新列表,但是想知道是否有更简单的方法?
答案 0 :(得分:2)
迭代列表并使用列表推导从dict
中提取所需的元素。
response = urllib2.urlopen(req, json.dumps([p["firstname"] for p in Profiles]))
答案 1 :(得分:1)
你走了:
json.dumps([p['firstname'] for p in Profiles])
对于两个领域,你可以写:
json.dumps([{'firstname':p['firstname'],'lastname':p['lastname']} for p in Profiles])