2010-01-20 3 views

ответ

8

Python 2.6 поставляется с json модуль в стандартной библиотеке - так что было бы лучше, если вы на Python 2.6; для более старых версий Python, simplejson может быть примерно эквивалентным.

9

Django itself integrates simplejson и имеет возможность использовать свою собственную версию из системы, если вы установили его.

from django.core import serializers 
json_serializer = serializers.get_serializer("json")() 

Как отмечает Алекс, модуль json поставляется с Python 2.6 и выше - это на самом деле simplejson источник втягивается в ядре Python. Это может показать вам, что он имеет широкий прием в сообществе Python.

Причина, по которой вы можете использовать свою собственную версию, заключается в том, что simplejson при компиляции с расширениями C и cjson, в другом модуле, значительно более эффективны, чем версии, входящие в состав Django или Python.

+7

Собственно, 'django.contrib.simplejson' будет использовать стандартный библиотечный' json' модуль, если он доступен. То есть, на Python 2.6+, 'из django.utils import simplejson' фактически вернет вам модуль' json' стандартной библиотеки. Модуль STDLIB, в свою очередь, прозрачно загружает расширение C, если он доступен Так что, если вы используете Django, нет никаких причин не всегда использовать 'django.utils simplejson'. – jacobian

Смежные вопросы