Python nesnelerini json.dumps
kullanarak JSON'a serileştirmeye çalışıyorum. dict
'u json.dumps
kullanarak serileştirirseniz, bir JSON sözlüğü {..}
; Bir list
veya tuple
serileştirirseniz, bir JSON dizisi olur.Mümkünse, Python dict'ı JSON'a nasıl dönüştürülür
Mümkünse, bir Python dict
'u JSON list
olarak kolayca serileştirmenin herhangi bir yolu olup olmadığını bilmek istiyorum.
{0:'data',1:'data',2:'data}
yukarıdaki gibi JSON içine tefrika olur: Mümkünse olarak, anahtarlar, örneğin 0'dan başlamalı ve sıralandı eğer Yani '{"0": "data", "1": "data", "2": "data"}'
, ama tuşları beri ['data','data','data']
olarak tefrika istiyorum 0'dan başlar ve sıralanır.
Bunun için yaptığım mantık şudur: PHP dizilerinde PHP'den seri hale getirilmiş çok sayıda JSON verisi vardır; burada PHP dizilerinde anahtarlar bulunur ve tuşlar yukarıda açıklandığı gibi sıralanırsa, PHP'nin json.encode
dizeleri diğer dizilerde kullanılırsa diziler kullanır. bir şekilde, JSON sözlükleri olarak serileştirilir. JSON serileştirmelerimin hem PHP hem de Python kodum için eşleşmesini istiyorum. Maalesef, PHP kodunu değiştirmek benim durumumda bir seçenek değil.
Herhangi bir öneriniz var mı? Bulduğum tek çözüm, her bir python sözlüğünü incelemek ve doğrulamak için kendi işlevimi yazmak ve önce'un json.dumps
'dan önce dönüştürülüp dönüştürülmeyeceğini görmek.
DÜZENLEME: Bir list
veya dict
yanı, bu böyle devam (yuvalama) Ek bunun içinde dicts ve listeleri ve olabilir olabilir seri ediyorum Bu nesne. Bunu yapmak için 'basit' bir yol olup olmadığını merak ediyorum, aksi takdirde kendime özyinelemeli bir çözüm yazabileceğime inanıyorum. Ancak, daha fazla hatayı önlemek için mevcut kodu kullanmak her zaman daha iyidir.
'dict.values () 'py3k içinde çalışacak mı emin değilim. Ayrıca, FWIW, dicts sıralı bir veri türü değildir, bu yüzden seri hale getirilmiş listenin sırası iyi tanımlanır, ancak json.dumps (liste (dict.values ())) yapsanız bile "keyfi" olur – mgilson