Сопоставление классов C# для десериализации System.Text.JsonC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Гость
 Сопоставление классов C# для десериализации System.Text.Json

Сообщение Гость »

Я пишу C# для взаимодействия со сторонним API. У меня возникли проблемы с сопоставлением определенного ответа классу.
В документации метода указано, что ответ будет:

Код: Выделить всё

{
:[{   /* driver ID */
"t":, /* time of binding/unbinding*/
"u":  /* unit ID if binding, 0 if unbinding */
}],
...
}
Пример ответа: {"2534":[{"t":1711353044,"u":10568}].
I' Мы определили класс Response и его подкласс как:

Код: Выделить всё

public class GetDriverBindingsResponse : IWialonApiRequestObject
{
/// 
/// Collection of bindings.  The key is a Driver Id
/// 
[JsonPropertyName("")]
public Dictionary? Bindings { get; set; }
}

public class DriverUnitBinding
{
/// 
/// time of binding/unbinding
/// 
[JsonPropertyName("t")]
public uint Time { get; set; }

/// 
/// unit ID if binding, 0 if unbinding
/// 
[JsonPropertyName("u")]
public long UnitId { get; set; }
}
Однако при десериализации коллекция Bindings имеет значение null. Даже простой тест не проходит:

Код: Выделить всё

string test = "{\"2534\":[{\"t\":1711353044,\"u\":10568}]}";
GetDriverBindingsResponse? x = JsonSerializer.Deserialize(test);
Console.WriteLine(x.Bindings?.Count);
Что мне нужно изменить, чтобы этот класс правильно десериализовался?

Подробнее здесь: https://stackoverflow.com/questions/782 ... ialization
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»