我正确地遍历我的json数据吗?

时间:2016-12-26 05:36:19

标签: python json

我从一个看起来像这样的文件中读取了一些JSON数据:

{
 "books":
        {
         "20":
             {
              "id":"10874",
              "title":"Measurement of ... 

我不知道" 20"手段。我认为它是某种我真正不关心的关键。我关心数据"" " 20"。所以我这样做......

for bk, junk in parsed['books'].iteritems():
    book_key = bk 
print book_key
print "------------------\n"
print parsed['books'][book_key]['title']

虽然这样可行,但我只是为了得到一把钥匙而使用for循环让我感到困扰。 我确信我做得不对。

谢谢

4 个答案:

答案 0 :(得分:4)

book_key = parsed['books'].keys()[0]
print parsed['books'][book_key]['title']

答案 1 :(得分:2)

如果您只有一把钥匙,那么就可以

 book_key = parsed['books'].keys()[0]

或甚至(使用.items()代替.keys()

 book_key, val = parsed['books'].items()[0]

 print book_key
 print val['title']

答案 2 :(得分:2)

import json

a1="""{ "books": { "20": { "id":"10874", "title":"Measurement of SPEED"},\
                   "30": { "id":"10874", "title":"Measurement of LENGTH"}}}"""

for b in json.loads(a1)['books'].values():
    print b['title']

输出:

Measurement of SPEED
Measurement of LENGTH

答案 3 :(得分:2)

您可以直接获得第一本(也是唯一一本)书的标题:

print parsed['books'].values()[0]['title']

Python 3:

print(list(parsed['books'].values())[0]['title'])