2016-03-28 28 views
0

Bu kolay bir soru gibi görünüyor ama cevabı bulamıyorum.
Python 3.3 çalışan ve ben şöyle bir JSON alınan bir şey var: Ben hiçbir başarı ile kendi başına her {} erişmeye çalışıyorumpython anahtarsız json ayrıştırma

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

.
Bunu yapmanın en kolay yolu ne olurdu?

Şimdiden teşekkürler. some_list 'ın değerini varsayarsak

cevap

0

{'a':'b', 'c':'d','e':'f'}{'g':'h', 'i':'j', 'k':'l'} dizedir ve sen sınırlandırılmış sözlükleri var },{ ile }{ yerini alabilir json_response['key'] içine döküldü yazıldığı şekilde/değiştirip literal_eval() ile dize yükleyemiyor:

>>> 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'}) 

Bu, yazdırılan sözlüklerin bir tuple dizisidir.

0

Değerle yaşadığım sorunlardan biri, JSON olup olmadığını veya çok fazla zaman olmadığını söyleyemem.
Sonunda dizgiye dönmenin dolambaçlı yolundan gitmeye karar verdim, bu yüzden ne olduğunu biliyorum ve sadece regex kullanıyorum.