我见过许多项目使用simplejson模块而不是标准库中的json模块。此外,还有许多不同的simplejson模块。为什么要使用这些替代品,而不是标准库中的替代品?


当前回答

下面是Python json库的比较(现在已经过时了):

比较Python的JSON模块(存档链接)

不管这个比较的结果如何,如果你使用的是Python 2.6,你应该使用标准库json。和. .否则还不如直接使用simplejson。

其他回答

下面是Python json库的比较(现在已经过时了):

比较Python的JSON模块(存档链接)

不管这个比较的结果如何,如果你使用的是Python 2.6,你应该使用标准库json。和. .否则还不如直接使用simplejson。

Json是simplejson,添加到stdlib中。但由于json是在2.6中添加的,因此simplejson具有在更多Python版本(2.4+)上工作的优势。

simplejson的更新频率也高于Python,因此如果您需要(或想要)最新版本,最好尽可能使用simplejson本身。

在我看来,一个好的做法是使用其中一种作为后备。

try:
    import simplejson as json
except ImportError:
    import json

simplejson模块比json快1.5倍(在我的计算机上,使用simplejson 2.1.1和Python 2.7 x86)。

如果您愿意,可以尝试基准测试:http://abral.altervista.org/jsonpickle-bench.zip 在我的电脑上,simplejson比cPickle快。我也想知道你的基准!

可能,正如Coady所说,simplejson和json之间的区别在于simplejson包含_speedps .c。 那么,为什么python开发者不使用simplejson呢?

项目使用simplejson的另一个原因是内置json最初不包括它的C加速,所以性能差异是显而易见的。

在python3中,如果你有一个b'bytes'的字符串,使用json你必须在加载它之前解码()内容。Simplejson会处理这个问题,所以你可以只做Simplejson .loads(byte_string)。