Некоторые значения по-разному сериализуются между simplejson и json.
Примечательно, что экземпляры collections.namedtuple
сериализуются как массивы json
, а как объекты - simplejson
. Вы можете переопределить это поведение, передав namedtuple_as_object=False
- simplejson.dump
, но по умолчанию поведение не совпадает.
>>> import collections, simplejson, json
>>> TupleClass = collections.namedtuple("TupleClass", ("a", "b"))
>>> value = TupleClass(1, 2)
>>> json.dumps(value)
'[1, 2]'
>>> simplejson.dumps(value)
'{"a": 1, "b": 2}'
>>> simplejson.dumps(value, namedtuple_as_object=False)
'[1, 2]'