2016-01-11 1 views
2

J'utilise Python 2.6.6, et je tente de générer une commande ordered_dict à partir de la chaîne json. Je pourrais comprendre que je pourrais utiliser object_pairs_hook de json Decoder/charges, mais malheureusement ce n'est pas supporté en 2.6.6. Y a-t-il un moyen de sortir?python ordered_dict de json

e.g. 
template_s = '{ "aa": {"_type": "T1"}, "bb": {"_type": "T11"}}' 
json.loads(template_s, object_pairs_hook=OrderedDict) 
>>> json.loads(json_str, object_pairs_hook=OrderedDict)                     
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "/usr/lib64/python2.6/json/__init__.py", line 318, in loads 
    return cls(encoding=encoding, **kw).decode(s) 
    TypeError: __init__() got an unexpected keyword argument 'object_pairs_hook' 

Merci

+2

Arrêtez d'utiliser 2.6? – jonrsharpe

Répondre

1

j'ai pu faire la même chose avec simplejson

import simplejson as json 
json.loads(config_str, object_pairs_hook=json.OrderedDict)