C# JavaScriptSerializer десериализация массива JSON

Код:

string json = "[{\"Name\" : \"dan\", \"Age\" : 25, \"City\" : \"lllal\", \"About\" : \"im dan\", \"Bdate\" : \"26/06/1997\"}]";

JavaScriptSerializer ser = new JavaScriptSerializer();
List<Person> ncontacts = ser.Deserialize<List<Person>>(json);

foreach (Person person in ncontacts)
    listView1.Items.Add(person.Name);

Персона Класс:

class Person
{
    public string Name { get; set; }
    public int Age { get; set; }
    public string City { get; set; }
    public string About { get; set; }
    public DateTime Bdate { get; set; }
}

Проблема состоит в том, что просмотр списка остается с 0 элементами, даже если он должен иметь dan,

Я попытался отладить, и я поставил точку останова на foreach Странно то, что он никогда не дойдет до этой строки... если я поставлю точку останова за одну строку до того, как она сломается...

Любая помощь будет приветствоваться, Дэн

1 ответ

Решение

Ваша строка даты 26/06/1997 не в допустимом формате для десериализации, и ваш код получает исключение. Если вы замените public DateTime Bdate { get; set; } с public string Bdate { get; set; } Вы можете видеть, что это работает.

Другие вопросы по тегам