SORU
3 AĞUSTOS 2011, ÇARŞAMBA


JSON Python bir OrderedDict yüklemek için alabilir miyim?

json.dump bir OrderedDict, ben, Tamam. Bu, bir OrderedDict bir giriş olarak JSON için kullanılabilir.

Ama bir çıkış olarak kullanılabilir mi? Eğer öyleyse nasıl? Benim durumumda 4* *dosyasında anahtarları sırası bende kalacak, öyle bir OrderedDict içine etmek istiyorum.

, Geçici bir çözüm.

CEVAP
3 AĞUSTOS 2011, ÇARŞAMBA


Evet, yapabilirsiniz. JSONDecoder object_pairs_hook değişken belirterek. Aslında, bu tam örnek belgelere yer verilir.

>>> json.JSONDecoder(object_pairs_hook=collections.OrderedDict).decode('{"foo":1, "bar": 2}')
OrderedDict([('foo', 1), ('bar', 2)])
>>> 

json.loads Eğer başka amaçlar için Decoder örneği ihtiyacın olursa ... () bu parametre, yani geçirebilirsiniz:

>>> import json
>>> from collections import OrderedDict
>>> data = json.loads('{"foo":1, "bar": 2}', object_pairs_hook=OrderedDict)
>>> print json.dumps(data, indent=4)
{
    "foo": 1,
    "bar": 2
}
>>> 

json.load kullanarak aynı şekilde yapılır:

>>> data = json.load(open('config.json'), object_pairs_hook=OrderedDict)

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • khloe brooks

    khloe brooks

    25 Temmuz 2011
  • Kanál používateľa McsFuego

    Kanál použ

    12 EKİM 2011
  • Ralph Phillips

    Ralph Philli

    5 Aralık 2006