Как десериализовать объект JSON и получить значение в C #? - PullRequest
0 голосов
/ 06 ноября 2018

У меня есть этот ответ JSON

{
  "multicast_id": 6847210640445644406,
  "success": 1,
  "failure": 0,
  "canonical_ids": 0,
  "results": [{
      "message_id": "0:1540898546437583%dadf2158f9fd7ecd"
  }]
}

Теперь, как я могу получить значение message_id ??

Я разработал этот класс для десериализации

public class SingleResponse
{
    public string Multicast_id { get; set; }
    public byte Success { get; set; }
    public byte Failure { get; set; }
    public ICollection<Result> Results { get; set; }

}

public class Result
{
    public string Message_id { get; set; }
}

Правильна ли моя процедура? Если да, как я могу получить значение MessageId?

Пока я пробовал десериализацию, и она отлично работает

 SingleResponse singleResponse = JsonConvert.DeserializeObject<SingleResponse>(response);

и может получить другие свойства, подобные этому

byte success = singleResponse.success

1 Ответ

0 голосов
/ 06 ноября 2018

Вы можете просмотреть список результатов и распечатать идентификатор сообщения для каждого из них, например,

foreach(Result res in singleResponse.Results)
{
    Console.WriteLine(res.Message_id);
}

Демо: https://dotnetfiddle.net/eVg1pQ

И здесь - дополнительная информация об интерфейсе ICollection.

...