2017-02-16 8 views
0

次のjson文字列をC#でデシリアライズしようとしていますが、正しく動作しません。C#でjson文字列をデシリアライズするのに助けが必要です

次のコードは、カウントが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/またはVisual StudioでPaste JSON as Classes、その後、手動で削除する不要なプロパティコード生成ツールを使用することを検討してください。

+0

おかげさまでdbc!それがそれでした。 – user3321095

関連する問題