Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python2.6中加载时维护JSON文件的键顺序_Python_Json - Fatal编程技术网

在Python2.6中加载时维护JSON文件的键顺序

在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

我正在使用Python2.6加载JSON字符串。我希望在加载时保持字符串的键顺序。我试着在这里使用答案:

由于我使用的是Python 2.6,所以我确保将
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