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

尝试序列化对象并获取c#list json错误:对象引用未设置为对象的实例,c#,json,C#,Json,我正在处理以下JSON数据,当尝试序列化一个对象时,我得到了一个错误 对象引用未设置为对象的实例 以下是我的课程: public class Hotel { [JsonProperty("Hotel")] public Address1 Address1 { get; set; } } public class Address1 { public string GuestData { get; set; }

我正在处理以下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;
List Hotel=newlist();
酒店e=新酒店();
e、 地址1.GuestName=“Kevin”;
e、 地址1.GuestSurName=“琼斯”;
地址:Add(e);
string json=JsonConvert.serialized对象(Hotel,Formatting.Indented);
textBox1.Text=json;
我将代码放入
表单\u Load
中,得到了错误

其他信息:对象引用未设置为对象的实例


我做错了什么

您没有将内存分配给
Address1
class中的
Hotel
class属性。这就是为什么在第
e.Address1.GuestName=“Kevin”行出现异常

尝试在默认构造函数下面为
Address1
类属性分配内存

public class Hotel
{
    public Hotel()
    {
        Address1 = new Address1();
    }

    [JsonProperty("Hotel")]
    public Address1 Address1 { get; set; }
}

我试图这样做,但似乎我应用了错误的解决方案。现在我明白我的错误了。谢谢你。解决了的!很高兴听到这个消息。如果我的答案解决了您的问题,请在答案左侧打勾,使其变为绿色:)