2013-07-23 2 views
1

Я пытаюсь получить доступ к значению даты некоторого JSON в Python, но он вложен под неизвестным значением. Как я могу получить доступ к дате, не зная НЕИЗВЕСТНО? Ниже приведен пример моего JSON. Благодарю.Значение доступа вложенное под неизвестным Python JSON

{"UNKNOWN": 
    {"date":"2013-11-16"} 
"UNKNOWN2": 
    {"date":"2013-11-16"}} 

ответ

4

Прежде всего, ваш конкретный пример недействителен JSON. Он не содержит запятую между элементами «UNKNOWN» и «UNKNOWN2».

Предполагая, что у вас есть действующий JSON в ваших руках, и вы не знаете ключей раньше времени, вы можете получить доступ ко всем значениям с помощью dict.values(). Если вам также нужны ключи, вы можете использовать dict.keys() (или dict.items(), который дает вам обе клавиши и значения.

>>> x = {"UNKNOWN": 
...   {"date":"2013-11-16"}, 
...  "UNKNOWN2": 
...   {"date":"2013-11-16"}} 
>>> x.values() 
[{'date': '2013-11-16'}, {'date': '2013-11-16'}] 
>>> 
>>> x.keys() 
['UNKNOWN2', 'UNKNOWN'] 
>>> 
>>> x.items() 
[('UNKNOWN2', {'date': '2013-11-16'}), ('UNKNOWN', {'date': '2013-11-16'})] 
>>> 
>>> x.values()[0]["date"] 
'2013-11-16'