2015-09-30 2 views
0

Я работаю с HTTPrequest и I receive a response группы массивов в json. Я хочу, чтобы разобрать его в VB.NET в списке доступа в том, что:Deserialize в списке от JSON до VB.NET

List.index(0).messages.id 
List.index(0).messages.previous 
List.index(0).messages.last_update 
List.index(0).messages.html 

Спасибо за вашу помощь, я надеюсь, вы понимаете мою проблему

ответ

0

Если вы получаете 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

+1

благодарственными, это хороший ответ, но я уже исправить мою проблему сам, я только что сделал ваш ответ, –

Смежные вопросы