json-rpc 参数版本 1.0 vs 2.0
Posted
技术标签:
【中文标题】json-rpc 参数版本 1.0 vs 2.0【英文标题】:json-rpc parameters version 1.0 vs 2.0 【发布时间】:2014-06-25 08:48:37 【问题描述】:我可以在 json-rpc 1.0 上请求这样的参数吗:
...,"params":["name":"x","type":"y"],...
或者这只能在 2.0 版本中实现?
我尝试了更多示例,但不起作用。我仅将参数作为列表发送
....,"parmas":["name","type"],.....
【问题讨论】:
【参考方案1】:你可以在 1.0 中有对象参数,在数组中,所以你的第一个例子是正确的。
不同的是,在1.0中params中必须有一个数组(可以包含对象),而在2.0中params本身可以是一个对象。
在 1.0 和 2.0 中都正确:
params: [ "key": "value" , "Other param" ]
在 2.0 中正确,但在 1.0 中不正确:
params: "key": "value", "other": "param"
【讨论】:
请注意,1.0 规范说 params 是“对象数组”。因此,我的第一个示例无效,在数组中包含一个字符串。但是,我认为这只是规范中单词的错误选择,而不是禁止非对象参数的意图。【参考方案2】:1.0 仅支持参数数组。
JSON-RPC 1.0 specification2.0 增加了对命名参数的支持。
JSON-RPC 2.0 specification【讨论】:
以上是关于json-rpc 参数版本 1.0 vs 2.0的主要内容,如果未能解决你的问题,请参考以下文章
如何在 C# 中的 JSON-RPC 2.0 中编写“参数”?