python中的JsonRpc客户端

Posted

技术标签:

【中文标题】python中的JsonRpc客户端【英文标题】:JsonRpc client in python 【发布时间】:2014-10-09 03:06:33 【问题描述】:

我正在尝试通过 python 使用 StanfordParser,并且我正在使用它的 this 实现,它基本上是一个远程服务器,可以根据我的理解响应 json 请求。 他们在启动服务器后为客户端推荐以下实现模板

import jsonrpc
from simplejson import loads
server = jsonrpc.ServerProxy(jsonrpc.JsonRpc20(), jsonrpc.TransportTcpIp(addr=("127.0.0.1", 8080)))

result = loads(server.parse("Hello world.  It is so beautiful"))
print "Result", result

但是我没有使用 jsonrpc 的经验,我只是使用 pip install json-rpc 安装它。但这似乎不起作用,因为当我尝试运行示例客户端时,出现以下异常。

Traceback (most recent call last):
  File "/root/PycharmProjects/testingStanfordParser/parser.py", line 1, in <module>
    import jsonrpc
  File "/usr/local/lib/python2.7/dist-packages/jsonrpc/__init__.py", line 6, in <module>
    from .manager import JSONRPCResponseManager
  File "/usr/local/lib/python2.7/dist-packages/jsonrpc/manager.py", line 12, in <module>
    from .jsonrpc1 import JSONRPC10Response
  File "/usr/local/lib/python2.7/dist-packages/jsonrpc/jsonrpc1.py", line 3, in <module>
    from .base import JSONRPCBaseRequest, JSONRPCBaseResponse
  File "/usr/local/lib/python2.7/dist-packages/jsonrpc/base.py", line 1, in <module>
    from .utils import JSONSerializable
  File "/usr/local/lib/python2.7/dist-packages/jsonrpc/utils.py", line 31, in <module>
    class DatetimeDecimalEncoder(json.JSONEncoder):
AttributeError: 'module' object has no attribute 'JSONEncoder'

【问题讨论】:

我的错,他们用额外的方法提供了自己版本的 jsonrpc.py :) 你应该让评论成为答案,因为它是正确的答案 【参考方案1】:

如前所述,他们有自己的 jsonrpc.py 实现。 可以通过以下链接下载。

https://github.com/dasmith/stanford-corenlp-python/blob/master/jsonrpc.py

【讨论】:

以上是关于python中的JsonRpc客户端的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 jsonrpc4j 客户端将对象作为参数传递?

JSON RPC 客户端

那里有测试 JsonRpc 服务器吗?

未捕获的类型错误:无法调用 jquery jsonrpc 客户端中未定义的方法“设置”

JSON序列化时为jsonrpc4j null

golang jsonrpc 调用 java json rpc