2015-06-19 84 views
1

如何获取此函数以仅返回值“Accounting”?如何返回特定的json字段?

def getowner(): 
     z = [{u'_ref': u'network/ZG5zLm5ldHdvcmskMTAuMTAwLjEwMC4wLz90jLzA:10.100.100.0/24/default', u'extattrs': {u'Owner': {u'value': u'Accounting'}}}] 
     return ((h['value']) for h in z['Owner']) 


z = getowner() 
print z 

即时得到错误TypeError: list indices must be integers, not str

回答

3

z变量是一个数组因为周围的方括号(之一元素)。下面是我将如何访问你所拥有的:

>>> z[0]['extattrs']['Owner']['value'] 
u'Accounting' 
1

更改您的代码:

def getowner(): 
    z = [{u'_ref': u'network/ZG5zLm5ldHdvcmskMTAuMTAwLjEwMC4wLz90jLzA:10.100.100.0/24/default', u'extattrs': {u'Owner': {u'value': u'Accounting'}}}] 
    return z[0]['extattrs']['Owner']['value'] 

z = getowner() 
print z 
相关问题