2016-03-28 4 views
0

Это похоже на простой вопрос, но я не могу найти ответ.
Я работаю в Python 3.3 и есть то, что я извлеченный из JSON, который выглядит следующим образом:python parsing json without key

some_list = json_response['key'] 
# some_list == {'a':'b','c':'d','e':'f'}{'g':'h','i':'j','k':'l'} 

Я пытался получить доступ к каждому {} самим по себе не имел успеха.
Что было бы самым простым способом сделать это?

Заранее спасибо.

ответ

0

Предполагая, что значение some_list «S является {'a':'b', 'c':'d','e':'f'}{'g':'h', 'i':'j', 'k':'l'} строкой, и вы не можете изменить способ, как написано/сбрасывал в json_response['key'], вы можете заменить }{ с },{ иметь словари разделителей и загрузить строку с literal_eval():

>>> from ast import literal_eval 
>>> some_list = "{'a':'b', 'c':'d','e':'f'}{'g':'h', 'i':'j', 'k':'l'}" 
>>> literal_eval(some_list.replace("}{", "},{").strip()) 
({'a': 'b', 'c': 'd', 'e': 'f'}, {'i': 'j', 'k': 'l', 'g': 'h'}) 

Это tuple из словарей, напечатанных.

0

Одна из проблем, с которыми я столкнулась, заключалась в том, что я не мог сказать, был ли это JSON или не так много времени.
В конце концов я решил обойти круговым способом кастинга в строку, чтобы я знал, что это такое, и просто использую регулярное выражение.