use*_*873 9 json curl json-rpc
对于使用字典作为参数的所有请求,我都会遇到 32602 错误,而这些请求则使用简单的参数。
\n\n例如:
\n\ncurl -d \'{"id":"json","method":"add","params":[1,2] }\' -o \xe2\x80\x93 \xe2\x80\x98http address for json rpc\xe2\x80\x99
有效,但是:
\n\ncurl -d \'{"id":"json","method":"add","params":[{"a":2,"b":3}] }\' -o \xe2\x80\x93 \xe2\x80\x98http address for json rpc\xe2\x80\x99\xe2\x80\x99
返回 32602 错误(无效参数!!!)
\n\n我需要在参数中添加名称和类型,并且为此需要一个字典,但收到 32602 错误。怎么了 ?
\n您收到的特定错误(“无效参数”)确实表明您的参数类型对于您正在调用的特定方法可能是错误的,但对于任何寻求使用curl进行JSON-RPC调用的一般指导的人来说,这可能不是问题。
对于 JSON-RPC 2.0,规范要求传递一个指定协议版本的字符串,"jsonrpc": "2.0"
该字符串在问题的示例中缺失。
下面是一个兼容的工作调用示例(使用jayson服务器进行测试):
curl -X POST \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":"id","method":"add","params":[1, 2]}' \
http://localhost:3000
Run Code Online (Sandbox Code Playgroud)
尝试在第二次尝试中删除对象括号周围的数组括号 []。
\n\n喜欢:
\n\ncurl -d \'{"id":"json","method":"add","params":{"a":2,"b":3} }\' -o \xe2\x80\x93 [http address for json rpc]\n
Run Code Online (Sandbox Code Playgroud)\n
归档时间: |
|
查看次数: |
25516 次 |
最近记录: |