使用 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""
}
}";
我正在尝试通过 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""
}
}";