【发布时间】:2017-07-07 22:19:41
【问题描述】:
当我在curl 中省略JSON-RPC 请求参数的“[ 和]”部分时,我无法让curl 和Json (Node.js) 工作。我正在使用命名参数(即一个对象,而不是一个数组)。
这行得通:
curl -v -i POST -H "Content-Type: application/json" \
-d '{"jsonrpc": "2.0", "method":"registerPerson", "params": ["{\"username\":\"morten10\",\"password\":\"mypass\"}"], "id":1 }' \
http://localhost:3000
但是,当我从参数中省略 [" 和 ]" 时,它不起作用:
curl -v -i POST -H "Content-Type: application/json" \
-d '{"jsonrpc": "2.0", "method":"registerPerson", "params": {\"username\":\"morten10\",\"password\":\"mypass\"}, "id":1 }' \
http://localhost:3000
Jayson 给出了这个错误信息:
TypeError: First argument must be a string or Buffer
但是,根据JSON-RPC 2.0 规范及其示例,当我使用命名参数时,我应该能够从参数中排除“[和]”部分,如下例所示:
--> {"jsonrpc": "2.0", "method": "subtract", "params": {"minuend": 42, "subtrahend": 23}, "id": 4}
<-- {"jsonrpc": "2.0", "result": 19, "id": 4}
我没有得到什么?
谢谢!
【问题讨论】: