对于使用字典作为参数的所有请求,我有一个32602错误,而这些错误与简单的参数一起使用。
例如:
curl -d '{"id":"json","method":"add","params":[1,2] }' -o – ‘http address for json rpc’
有效,但是:
curl -d '{"id":"json","method":"add","params":[{"a":2,"b":3}] }' -o – ‘http address for json rpc’’
返回32602错误(无效参数!!!)
我需要在params中输入名称和类型,我需要一个字典,但是我收到了32602错误。有什么问题?
答案 0 :(得分:3)
您收到的特定错误(“无效参数”)确实表明您所调用的特定方法的参数类型可能是错误的,但是对于正在寻找使用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
答案 1 :(得分:0)
尝试在秒尝试中从对象括号周围删除数组括号[]。
像:
curl -d '{"id":"json","method":"add","params":{"a":2,"b":3} }' -o – ‘http address for json rpc’’