2014-11-12 3 views
0

У меня есть следующие JSON, который я пытаюсь разобрать в словарь, так что я получаю только запросы в «Запросы», то есть запрос 1 и запрос 2разбора JSON в словаре в питона

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

I я использую:

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") Ives следующая ошибка

Traceback (most recent call last): File "", line 1, in AttributeError: 'list' object has no attribute 'get'

Как Я получаю данные как словарь, а не список и использую «Запросы», чтобы просто получать запросы из json, я не хочу преобразовывать их в список. Есть ли способ напрямую рассматривать его как словарь?

ответ

1

data - это список словарей. Вам нужно будет индексировать словарь из списка

data[0].get('Queries') 

Или, если есть несколько словарей, вы могли бы использовать список понимание, чтобы получить запросы от каждого словаря

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

спасибо, что он работает :) – Ankit

1

попробовать следующий

js = open('C:/temp/json.txt').read() 
data = json.loads(js) 
data[0]['A'] 
u'xyz' 
Смежные вопросы