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

  • boniver

    boniver

    17 NİSAN 2006
  • eHow

    eHow

    27 NİSAN 2006
  • Noam Erez

    Noam Erez

    3 NİSAN 2012