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

  • Edgar flores

    Edgar flores

    7 HAZİRAN 2006
  • Joshua Benedict

    Joshua Bened

    26 EKİM 2013
  • Orson Wang

    Orson Wang

    28 EKİM 2006