SimpleJson包安装问题



我试图使用simplejson库,但我认为我的安装出了问题。它与一些函数一起工作,例如我已经尝试过simplejson。转储和它的工作很好,但当我尝试simplejson。加载,我得到一个错误。我不确定这是否是唯一有问题的地方,但这是我遇到的唯一问题。我正在测试一个简单的脚本,看起来像

import simplejson
json_data = {"name": "Jane", "age": 17}
data = simplejson.loads(json_data)
print(type(json_data))
print(type(data))
print(data) 

这是我得到

的错误
Traceback (most recent call last):
File "dummy.py", line 4, in <module>
data = simplejson.loads(json_data)
File "C:appspython25libsite-packagesPIL__init__.py", line 302, in loads

File "buildbdist.win32eggsimplejsondecoder.py", line 314, in decode
TypeError: expected string or buffer

i installed with py setup.py install.

Installed c:appspython25libsite-packagessimplejson-2.0.4-py2.5.egg
Processing dependencies for simplejson==2.0.4
Finished processing dependencies for simplejson==2.0.4
***************************************************************************
WARNING: The C extension could not be compiled, speedups are not enabled.
Plain-Python installation succeeded.
***************************************************************************

我重新安装了它,但是它不工作。

我被限制使用这个特定的包和python 2.5。

您的设置似乎没有问题,错误在您的代码中。
SimpleJSON遵循与标准json模块相同的接口。

From the docs ofsimplejson.loads:

将s(包含JSON文档的str或unicode实例)反序列化为Python对象。

你的异常消息是:

TypeError: expected string or buffer

这是因为你给出的是一个对象,而不是对象的字符串表示。您已经有了结果,不需要调用该函数。
json库在文本和对象之间进行转换。在这里,您已经有了一个对象(json_data = {"name": "Jane", "age": 17})。

换句话说:

>>> import json
>>> json.loads('{"name": "Jane", "age": 17}')  # loadString
{'name': 'Jane', 'age': 17}  # into an object (a dict)
>>> json.dumps({'name': 'Jane', 'age': 17})  # dumpString
'{"name": "Jane", "age": 17}'  # into a string (representing the object)

相关内容

  • 没有找到相关文章

最新更新