Python 2.5环境simplejson调用loads方法报错问题求助
问题排查结论
- 你的故障和simplejson安装异常无关,属于API调用逻辑错误
- 安装日志里的C扩展编译警告仅会影响运行速度,不会导致功能报错,纯Python实现的simplejson可正常提供所有功能
错误原因
simplejson.loads() 入参要求为JSON格式字符串,你测试代码中传入的json_data本身就是Python字典类型,不符合入参要求,因此抛出TypeError: expected string or buffer类型错误。
你之前调用simplejson.dumps()正常的原因是dumps方法的作用就是接收Python对象,将其序列化为JSON字符串,和你的传参类型匹配。
正确测试脚本
import simplejson raw_data = {"name": "Jane", "age": 17} # 测试dumps功能:Python对象转JSON字符串 json_str = simplejson.dumps(raw_data) # 测试loads功能:JSON字符串转Python对象 data = simplejson.loads(json_str) print(type(raw_data)) print(type(json_str)) print(type(data)) print(data)
运行后会得到符合预期的输出,可验证两个功能均正常。
内容的提问来源于stack exchange,提问作者yah
相关产品推荐
相关产品推荐

