Отправка Json с помощью C# и WebSocket4Net

Я пытаюсь отправить следующие данные JSON на сервер через веб-сокеты в C#:

    {          
       "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, с которой я пытаюсь перенести это.

1 ответ

Решение

Я понял. Сервер требовал, чтобы формат json был точно таким же, как указано выше. Я отформатировал JSON следующим образом, и команда была успешной!

 string json = @"
{
            ""method"": ""ms.remote.control"",
            ""params"": {
                             ""Cmd"": ""Click"",
                ""DataOfCmd"": ""KEY_VOLUP"",
                ""Option"": ""false"",
                ""TypeOfRemote"": ""SendRemoteKey""
            }
                    }";
Другие вопросы по тегам