Если вы получаете JSON в массив, почему бы не десериализировать его только в Массив? И затем вы можете использовать метод .ToList()
для преобразования массива в List
.
Ваши классы должны быть как:
public class Message
{
public int id { get; set; }
public int previous { get; set; }
public int last_update { get; set; }
public string html { get; set; }
}
public class RootObject
{
public string robots { get; set; }
public List<Message> messages { get; set; }
public List<int> messageIds { get; set; }
public string onlineUsers { get; set; }
public string reverse { get; set; }
public int lastrefresh { get; set; }
public string motd { get; set; }
public int numInChat { get; set; }
public bool twelveHour { get; set; }
public string _visitor_conversationsUnread { get; set; }
public string _visitor_alertsUnread { get; set; }
}
И вы должны быть в состоянии Deserialize свой полный JSon в RootObject
класса непосредственно. Для десериализации, я предложу Newtonsoft.Json DLL (доступен на NuGet)
RootObject rootObject = JsonConvert.DeserializeObject<RootObject>(jsonString);
Тогда вы сможете получить доступ к свойствам, как вы просили.
Я принял помощь от http://json2csharp.com/ генерировать классы от вашего JSon
благодарственными, это хороший ответ, но я уже исправить мою проблему сам, я только что сделал ваш ответ, –