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

  • 8lacKy

    8lacKy

    30 Mart 2009
  • ASUS North America

    ASUS North A

    12 AĞUSTOS 2008
  • ChannelRichard

    ChannelRicha

    7 Kasım 2008