次のチュートリアルを検討してください: http://blogs.msdn.com/b/rakkimk/archive/2009/01/30/asp-net-json-serialization-and-deserialization.aspx
{
"firstName" : "Rakki",
"lastName" : "Muthukumar",
"department" : "Microsoft PSS",
"address" : {
"addressline1" : "Microsoft India GTSC",
"addressline2" : "PSS - DSI",
"city" : "Bangalore",
"state" : "Karnataka",
"country" : "India",
"pin" : 560028
},
"technologies" : ["IIS", "ASP.NET", "JavaScript", "AJAX"]
}
json コードの場合、次のクラスがあります。
public class Address
{
public string addressline1 { get; set; }
public string addressline2 { get; set; }
public string city { get; set; }
public string state { get; set; }
public string country { get; set; }
public int pin { get; set; }
}
public class RootObject
{
public string firstName { get; set; }
public string lastName { get; set; }
public string department { get; set; }
public Address address { get; set; }
public List<string> technologies { get; set; }
}
上記のプロパティは、次のようなデータを設定しようとするとエラーになります
RootObjectClsObject.address.addressline1 = "NO";
それは私を投げますNullReferrenceException
。行を変更すると
public List<string> technologies { get;set;}
次の行で
public List<string> technologies = new List<string>();
使いたくないもの。この方法では処理できない複雑なタイプの JSON があるためです。