尝试SerializeObject并获取c#list json错误:对象引用未设置为对象的实例



我正在处理以下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; }
}

最新更新