Сериализация в json - C#

Узнай цену своей работы

Формулировка задачи:

Есть сервер-клиент, работает через асинхронные Udp сокеты, каждые 5 миллисекунд обмениваются информацией в формате json. Проблема в том, что через короткое рандомное количество запросов на сервер от клиента приходит невалидный json с лишней фигурной скобкой в конце. Кусок кода клиента, где он формирует информацию и отправляет ее на сервер:
Dictionary<string, string> dicsend = new Dictionary<string, string>();
                    dicsend.Add("id", MainActivity.myId.ToString());
                    dicsend.Add("x", player.PositionX.ToString());
                    dicsend.Add("y", player.PositionY.ToString());
                    dicsend.Add("wx", player.way.X.ToString());
                    dicsend.Add("wy", player.way.Y.ToString());
byte[] bsend = Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(dicsend)); // Использую Newtonsoft.Json для сериализации словаря.
Далее отправляю массив байтов как обычно. Примечание: поля словаря x,y,wx,wy динамично меняются. Если оставить их статичными(не менять значения) то json всегда выходит валидным. Загвоздка явно где-то вокруг этого, но я никак не пойму что не так. Подскажите пожалуйста)

Решение задачи: «Сериализация в json»

textual
Листинг программы
string json = @"{""id"":100500}";
 
byte[] jsonData = Encoding.UTF8.GetBytes(json); // вот эта

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.2 из 5