使用 c# 和 WebSocket4Net 发送 Json

Sending Json with c# and WebSocket4Net

我正在尝试通过 C# 中的 websockets 将以下 JSON 数据发送到服务器:

    {          
       "method": "ms.remote.control",
        "params": {
            "Cmd": "Click",
            "DataOfCmd": key,
            "Option": "false",
            "TypeOfRemote": "SendRemoteKey"
        }
    }

我正在使用以下代码将数据发送到服务器:

string json = @"{""method"":""ms.remote.control"",""params"":""{""Cmd"":""Click"",""DataOfCmd"":""KEY_MENU"",""Option"":""false"",""TypeOfRemote"":""SendRemoteKey""}""}";

string message = JsonConvert.SerializeObject(json);

websocketClient.Send(message);

这是 json 序列化后数据的输出:

"{\"method\":\"ms.remote.control\",\"params\":\"{\"Cmd\":\"Click\",\"DataOfCmd\":\"KEY_MENU\",\"Option\":\"false\",\"TypeOfRemote\":\"SendRemoteKey\"}\"}"

我从服务器收到以下响应:

收到消息。服务器回答:

{"event":"ms.error","data":{"message":"missing method field from message"}}

我 json 的格式设置不正确吗?我知道 json 数据是正确的,因为消息在我试图从中移植的 python 程序中运行良好。

我明白了。服务器要求 json 的格式与上面完全相同。我将json格式化如下,命令成功!

 string json = @"
{
            ""method"": ""ms.remote.control"",
            ""params"": {
                             ""Cmd"": ""Click"",
                ""DataOfCmd"": ""KEY_VOLUP"",
                ""Option"": ""false"",
                ""TypeOfRemote"": ""SendRemoteKey""
            }
                    }";