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

  • CommonArtisan

    CommonArtisa

    7 Temmuz 2012
  • Gee Cee

    Gee Cee

    1 AĞUSTOS 2009
  • Hak5

    Hak5

    7 EYLÜL 2005