在Python中实现JSON的好方法(最快、最少中断等)是什么?

在Python中实现JSON的好方法(最快、最少中断等)是什么?,python,json,Python,Json,尽管Python有一个内置的库,但似乎有一些用于Python的JSON库。有人甚至声称是根据规范构建的(这让我想到‘嗯,Python的内置库不是完全按照规范构建的吗?’),所以我在这里想问问其他人在尝试不同的库时发现了什么。有什么区别吗 我将在基于Django的web AJAX API中使用它(我知道有Django应用程序用于此,但我想在获取应用程序之前了解其根源)。内置库在大多数情况下都很好,尽管有时会遇到与字符编码有关的问题 如果您有性能问题需要处理,则会出现cjson 就我个人而言,我只是

尽管Python有一个内置的库,但似乎有一些用于Python的JSON库。有人甚至声称是根据规范构建的(这让我想到‘嗯,Python的内置库不是完全按照规范构建的吗?’),所以我在这里想问问其他人在尝试不同的库时发现了什么。有什么区别吗


我将在基于Django的web AJAX API中使用它(我知道有Django应用程序用于此,但我想在获取应用程序之前了解其根源)。

内置库在大多数情况下都很好,尽管有时会遇到与字符编码有关的问题

如果您有性能问题需要处理,则会出现cjson


就我个人而言,我只是使用simplejson——没有特别的原因。

Python<2.6没有包含
json
模块。多个json实现的存在并不能说明内置模块的质量以及没有内置
json
的历史


我建议您的假设(多个实现意味着库中的质量低)是错误的。

内置模块
json
工作得很好。如果您必须使用早期的python,请使用第三方模块
simplejson
(完全相同的接口)。它们具有Python所期望的序列化接口,并且被广泛使用


(简单)默认情况下,json对json标准有一些非常小的扩展。你可以在
json
的文档中阅读这些扩展,如果出于某种原因想禁用它们。

我喜欢你“最少破坏”的目标中的现实主义。@Richo:)是的,我对任何东西都没有信心,直到我运行过它。当你说“simplejson”你说的是Django util吗?这个:它很可能来自Django;我不确定。试着导入它看看。@orokusaki:
Django.utils.simplejson
实际上正在加载它能找到的“最佳”json实现。它可以是
simplejson
json
内置(如果可用),或django自己的JSON实现。加载一个实现相对于另一个实现的精确优先级规则可以在源代码中找到,在
utils/simplejson/\uuuu init\uuuuuuuuuuuupy
@Clement:ah这太棒了。我不知道。1+Thx s.Lott,所以还有其他实现。我一直很好奇,现在我的应用程序中需要JSON问题由此产生。来自simplejson主页:“simplejson是Python 2.6和Python 3.0中包含的json库的外部维护开发版本,但保持了与Python 2.4和Python 2.5的向后兼容性”。它不仅仅是同一个接口,它(主要是)同样的代码。谢谢Mike。我假设Django的simplejson就是simplejson库,没有任何Django特有的东西。