2014-04-01 24 views
10

Baskı son derece minnettar olurdu!Güzel baskı JSON hakkında biraz bilgi sahibi olan herkes bana bu konuda yardımcı olabilir JSON python

Ben bir dosyaya JSON dizesi taşımak için aşağıdaki fonksiyonu kullanarak JSON biçimine karmaşık bir piton dize dönüştürmek için arıyorum:

with open('data.txt', 'wt') as out: 
    pprint(string, stream=out) 

sorunum için sözdizimi hataları alıyorum olmasıdır köşeli parantezler inanıyorum, çünkü bu benim için yeni bir konu ve bunun nasıl üstesinden geleceğimi anlayamıyorum.

{ 
     cols:[{id: 'Time', "label":"Time","type": "datetime"}, 
       {id: 'Time', "label":"Latency","type":"number"}], 
     rows:[{c: [{v: %s}, {v: %s}]}, 
       {c: [{v: %s}, {v: %s}]}, 
       {c: [{v: %s}, {v: %s}]}, 
       {c: [{v: %s}, {v: %s}]} 
       ] 
    } 

Google Görselleştirme API takip ediyorum, onunla familier olabilir, ama ben dinamik grafikler gerekir: Ben gerektiren JSON biçimi böyledir. Yukarıdaki kod, API'nin bir grafik oluşturmak için gerektirdiği biçimdir, bu yüzden MYSQL'ten verilerimi bu formatta nasıl alacağımı belirleme aşamasındayım, böylece grafik okunabilir ve görüntülenebilir. Düşündüğüm yöntem, gerekli JSON formatını içeren bir dosyayı periyodik olarak güncellemekti, bu yüzden% s'nin mevcut olmasının nedeni budur, ancak MartijnPeters bunun geçersiz olduğunu öne sürmektedir.

Bunu yapmanın en kolay yolunu bilen var mı, yoksa bana yardımcı olabilecek herhangi bir materyale işaret edebilir misiniz? Teşekkür ederim!!

cevap

41

JSON değil, Python temsilcilikleri yazıyorsunuz.

kullanın json.dump() function doğrudan dosyaya yerine hoş yazılı JSON yazmak için:

with open('data.txt', 'wt') as out: 
    res = json.dump(obj, out, sort_keys=True, indent=4, separators=(',', ': ')) 
İlgili konular