在Python2.6中加载时维护JSON文件的键顺序
我正在使用Python2.6加载JSON字符串。我希望在加载时保持字符串的键顺序。我试着在这里使用答案: 由于我使用的是Python 2.6,所以我确保将在Python2.6中加载时维护JSON文件的键顺序,python,json,Python,Json,我正在使用Python2.6加载JSON字符串。我希望在加载时保持字符串的键顺序。我试着在这里使用答案: 由于我使用的是Python 2.6,所以我确保将simplejson作为json导入,但我仍然收到以下错误: TypeError: __init__() got an unexpected keyword argument 'object_pairs_hook' 我错过了什么 以下是代码(截断): 如果我使用import json而不是simplejson也会出现同样的错误,您可以提供si
simplejson作为json导入,但我仍然收到以下错误:
TypeError: __init__() got an unexpected keyword argument 'object_pairs_hook'
我错过了什么
以下是代码(截断):
如果我使用import json
而不是simplejson也会出现同样的错误,您可以提供simplejson的更新本地副本
下载simplejson源代码:
编译simplejson:
将simplejson打包为鸡蛋(压缩Python包):
simplejson蛋将位于:
dist/simplejson-<version>-<python>-<os>-<arch>.egg
将simplejson egg复制到可访问的地方(这可能只是应用程序的本地目录)。现在,在Python应用程序中,您必须告诉Python在哪里可以找到新版本的simplejson:
@一杯好的。即使我不使用它,也会出现同样的错误。对不起,3.1中添加了对象对钩子。您安装了哪个版本的simplejson?@cpburnz simplejson 2.0.9。我看到2.1.0中添加了对象对钩子支持。该死。还有别的办法吗?我无权在受约束的环境中升级simplejson。
git clone https://github.com/simplejson/simplejson.git
cd simplejson
python setup.py build
python setup.py bdist_egg
dist/simplejson-<version>-<python>-<os>-<arch>.egg
dist/simplejson-3.10.0-py2.7-linux-x86_64.egg
import sys
SIMPLEJSON_EGG = 'path/to/simplejson-....egg'
sys.path.insert(1, SIMPLEJSON_EGG)
import simplejson