2013-03-26 5 views
0

Я не могу понять, как выполнить доступ вложенных объектов с помощью simplejson. Я посмотрел на примерах в docs и искал, но не могу найти способ достижения следующих функций:simplejson индексирование вложенных объектов

nested = json.loads('{ "foo": {"bar": 1}}') 
value = nested['foo.bar'] 
if(value == 1): 
    print('success') 

Это производит следующее сообщение об ошибке:

KeyError: 'foo.bar' 

Есть ли способ получить вложенные объекты, не имеющие доступа к одному объекту за раз?

+1

Что не так с 'nested ['foo'] ['bar']' точно? –

+0

Спасибо Martijn, я новичок в python и не знал об этом синтаксисе для доступа к словарю. Это отлично подходит для моего использования. – dsimmie

ответ

0

Возвращаемый объект является истинным питон ДИКТ:

>>> type(nested) 
<type 'dict'> 

так на самом деле ваш вопрос о питона словарей. Итак, нет, это невозможно. Можно было бы определить пользовательский JSONDecoder, который мог бы вернуть ваш собственный объект, который реализует семантику, которую вы хотите.