2017-02-16 10 views
0

Я пытаюсь десериализовать следующую строку json на C#, но она работает неправильно.Нужна помощь десериализации json string с C# javascriptserializer

Следующий код возвращает число 0. Я не уверен, что я делаю неправильно.

JavaScriptSerializer ser = new JavaScriptSerializer(); 
Addresses addresses = ser.Deserialize<Addresses>(json); 

Мой JSON является:

{ 
    "addresses":[ 
{ 
    "first_name":"Sarah", 
    "last_name":"Halawani", 
    "line1":"1653 OCEAN PKWY", 
    "company":"", 
    "city":"BROOKLYN", 
    "state":"NY", 
    "subscriber_id":null, 
    "country_name":"United States", 
    "country_abbreviation":"USA", 
    "latitude":"40.6085", 
    "longitude":"-73.9675", 
    "verified":true 
}, 
{ 
    "first_name":"Jean", 
    "last_name":"Mizrahi", 
    "line1":"1733 OCEAN PKWY", 
    "company":"", 
    "city":"BROOKLYN", 
    "state":"NY", 
    "subscriber_id":null, 
    "country_name":"United States", 
    "country_abbreviation":"USA", 
    "latitude":"40.6065", 
    "longitude":"-73.9671", 
    "verified":true 
} 
    ] 
} 

И мои классы:

public class Addresses 
{ 
    public List<Address> address { get; set; } 
    public Addresses() { address = new List<Address>(); } 
} 

public class Address 
{ 
    public string first_name { get; set; } 
    public string last_name { get; set; } 
    public string line1 { get; set; } 
    public string company { get; set; } 
} 
+1

Вы используете переменную json? вы не включили эту часть кода – Coder

+0

Это было исправлено исправлением ошибки исправления. –

ответ

1

опечатка свойство address. Она должна быть addresses совпадать с именем свойства JSON:

public class Addresses 
{ 
    public List<Address> addresses { get; set; } 
    public Addresses() { addresses = new List<Address>(); } 
} 

Чтобы избежать ошибок, как это, рассмотреть возможность использования инструмента генерации кода, такие как http://json2csharp.com/ или Paste JSON as Classes в Visual Studio, а затем вручную удалять нежелательные свойства.

+0

Спасибо dbc! Так оно и было. – user3321095