首页 > 解决方案 > JSON RPC 参数 C#

问题描述

我正在尝试创建一种使用 newtonsoft 发送 JSONRPC 2.0 命令的方法。我希望能够传递参数和它们的值。这是我到目前为止所拥有的

public void test(params object[] parameters)
{
    JObject joe = new JObject();
    joe.Add(new JProperty("jsonrpc", "2.0"));
    joe.Add(new JProperty("id", "1"));
    joe.Add(new JProperty("method", "Component.Set"));

    JArray props = new JArray();
    foreach (object parameter in parameters)
    {
        props.Add(parameter);
    }

    joe.Add(new JProperty("params", props));
    string json = JsonConvert.SerializeObject(joe);
}

但我的问题是它只发送参数名称,我不知道如何传递参数的值

所以基本上,我得到了这个

{
  "jsonrpc": "2.0",
  "id": "1",
  "method": "Component.Set",
  "params": [
    "Name",
    "GO"
  ]
}

当我正在寻找的是这样的东西

{
  "jsonrpc": "2.0",
  "id": 1234,
  "method": "Component.Set", 
  "params": {
    "Name": "My APM",
    "Controls": [
      {
        "Name": "ent.xfade.gain", 
        "Value": ‐100.0,
        "Ramp": 2.0
      }
    ]
  }
}

如何生成这种格式的 JSON?

标签: c#jsonjson.netrpc

解决方案


推荐阅读