简体   繁体   English

如何返回特定的json字段?

[英]How do I return a specific json field?

How do I get this function to just return the value "Accounting"? 我如何获得此函数以仅返回值“ Accounting”?

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

Im getting error TypeError: list indices must be integers, not str 我收到错误TypeError: list indices must be integers, not str

Your z variable is an array (of one element) because of the surrounding square brackets. 由于周围的方括号,您的z变量是一个数组(一个元素)。 Here is how I would access what you have: 这是我将如何访问您拥有的东西:

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

Change your code to: 将您的代码更改为:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM