我正在处理以下JSON数据,当尝试序列化对象时,我得到错误
对象引用未设置为对象的实例
以下是我的类:
public class Hotel
{
[JsonProperty("Hotel")]
public Address1 Address1 { get; set; }
}
public class Address1
{
public string GuestData { get; set; }
public string GuestName { get; set; }
public string GuestSurName { get; set; }
}
我试着用这种方式序列化:
List<Hotel> Hotel = new List<Hotel>();
Hotel e = new Hotel();
e.Address1.GuestName = "Kevin";
e.Address1.GuestSurName = "Jones";
Hotel.Add(e);
string json = JsonConvert.SerializeObject(Hotel, Formatting.Indented);
textBox1.Text = json;
我把代码放在Form_Load
中,得到错误
附加信息:对象引用未设置为对象的实例
我做错了什么?
您没有将内存分配给Hotel
类内的Address1
类属性。所以这就是为什么在e.Address1.GuestName = "Kevin";
行出现异常的原因
尝试使用以下默认构造函数将内存分配给Address1
类属性。
public class Hotel
{
public Hotel()
{
Address1 = new Address1();
}
[JsonProperty("Hotel")]
public Address1 Address1 { get; set; }
}