2013-11-15 21 views
5

JSON verilerini, istek yükü olarak gelen bir sözlük dizisi olarak kullanıyorum. Json ijson ve python ile ayrıştırma

[ 
    { "Field1": 1, "Feld2": "5" }, 
    { "Field1": 3, "Feld2": "6" } 
] 

Bir tek bir öğe olarak, tüm JSON nesnesi verir ijson.items(f, '') çalıştı. Ijson'u kullanarak dizinin içindeki öğeleri tek tek tekrarlayabileceğim bir yol var mı?

JSON'u tek bir nesne olarak sağlayan örnek kod İşte burada.

f = open("metadatam1.json") 
objs = ijson.items(f, '') 
for o in objs: 
    print str(o) + "\n" 

[{'Feld2': u'5', 'Field1': 1}, {'Feld2': u'6', 'Field1': 3}] 
+1

Lütfen kodunuzu ekleyin, "json'un tamamını tek bir öğe olarak nasıl sağladığını" gösterir – shx2

cevap

19

Ben ijson ile çok aşina değilim ama oldukça üst düzey bir nesne daha dizinin, ürün almak için çalışması gerekir "item" bir önek ile items arayarak benziyor onun kod bazı okuma:

+0

Çalıştığınız teşekkür ederiz! – Overture

+0

Bu, yalnızca aşağıdaki hatayı çıkarır: '' TypeError: bayt için bayt yapamazsınız '' – Jeremy

+0

@JeremyCraigMartinez: Özel durum metniyle bu özel durumun nereden geldiğini tahmin etmenin bir yolu yok. Kendinize ait bir soru sormanızı ve kodunuzu ve tam bir geri izlemenizi öneririm. – Blckknght