在python中将json解析为字典

时间:2014-11-12 15:58:25

标签: python json dictionary

我有以下json,我试图解析为字典,以便我只查询“查询”中的查询,即查询1和查询2

  [ 
      { "A":  "xyz", 
        "B": "this is xyz",
        "Queries":    [
                       "Query 1",
                       "Query 2" 
                      ] 
      }
    ]

我正在使用:

import json 
js=open('C://localpath//files.json') 
data=json.load(js) //assuming that json.load() will make data as dictionary correct me if i am wrong

data.get("Queries")发生以下错误

  

回溯(最近一次调用最后一次):文件“”,第1行,在AttributeError中:'list'对象没有属性'get'

如何将数据作为字典而不是列表并使用“查询”来获取json中的查询,我不想将其转换为列表。有没有办法直接将其作为字典处理?

2 个答案:

答案 0 :(得分:2)

尝试以下

js = open('C:/temp/json.txt').read()
data = json.loads(js)
data[0]['A']
u'xyz'

答案 1 :(得分:1)

data是一个词典列表。您需要将字典索引到列表中

data[0].get('Queries')

或者,如果有多个词典,您可以使用列表推导来从每个词典中获取查询

[d.get('Queries') for d in data]