Python中的JSON解码异常

1 投票
1 回答
732 浏览
提问于 2025-04-17 14:57

示例服务器

我有一个Python脚本,已经复制到/var/www/cgi-bin文件夹,并且设置了775的权限。

#!/usr/bin/env python

 print "Content-type: text/plain\n\n";
print "testing...\n";

import cgitb; cgitb.enable()
import cgi

from jsonrpc import handleCGI, ServiceMethod
import json
from datetime import datetime

@ServiceMethod
def echo():
    return "Hello"

if __name__ == "__main__":
    handleCGI()

示例客户端

现在,我正在使用下面的客户端代码来访问这个简单的回显服务。

from jsonrpc import ServiceProxy
import json

s = ServiceProxy(`"http://localhost/cgi-bin/t2.py"`)
print s.echo()

1/ 当我运行上面的客户端时,出现了以下错误。有什么想法吗? 2/ httpd.conf的设置有没有问题?

File "/usr/lib/python2.7/site-packages/jsonrpc/proxy.py", line 43, in __call__
    resp = loads(respdata)
  File "/usr/lib/python2.7/site-packages/jsonrpc/json.py", line 211, in loads
    raise JSONDecodeException('Expected []{}," or Number, Null, False or True')
jsonrpc.json.JSONDecodeException: Expected []{}," or Number, Null, False or True

注意:我使用的是下面链接中提到的示例,使用cgi方式处理json。

http://json-rpc.org/wiki/python-json-rpc

请告诉我。

谢谢! Santhosh

1 个回答

0

我知道这个回答来得有点晚,但我在遇到同样的问题时找到了这个问题。希望我的解决办法能帮助到其他人,所以我决定分享一下。

在我的情况下,问题其实很简单(有点傻),就是让这个 Python 文件本身可以执行。也就是说,运行命令 chmod 755 t2.py。

撰写回答