json dict - python 如何访问

json dict - python how to access

我知道,这可能很容易,但我还是卡住了..这就是 data

{ u'job_27301': [{u'auto_approve': u'0',
                 u'body_src': u'some text1'}],

  u'job_27302': [{u'auto_approve': u'0',
                 u'body_src': u'some text2'}],

  u'job_27303': [{u'auto_approve': u'0',
                 u'body_src': u'some text3'}] }

我有这本列表词典。

如何遍历它并在每个步骤中从值列表中获取 body_src?我试过了

for k, d in data:
    print d[k]

获取列表部分,但它说 too many values to unpack...

为了迭代字典 (key,item),你可以使用 data.items()iteritems():

>>> for k,d in data.iteritems():
...     print d[0][u'body_src']
...
some text1
some text3
some text2

在执行 for k,d in data: 时,您尝试仅迭代键:

>>> for i in data:
...   print i
...
job_27301
job_27303
job_27302
d={ u'job_27301': [{u'auto_approve': u'0',
                 u'body_src': u'some text1'}],

  u'job_27302': [{u'auto_approve': u'0',
                 u'body_src': u'some text2'}],

  u'job_27303': [{u'auto_approve': u'0',
                 u'body_src': u'some text3'}] }

for k,v in d.iteritems(): # items in python 3
    print(v[0]["body_src"])

或者只是值:

for v in d.itervalues(): # values in python 3
    print(v[0]["body_src"])

您收到该错误消息是因为当您直接遍历 dict 时,您只会获得密钥。

所以你可以这样做:

for k in data: 
    print data[k][0]['body_src']

输出

some text1
some text3
some text2