为什么在使用 newtonsoft.Json 时需要设置对象中的 属性 而不是私有设置
Why does a property in an object need to be set and not private set when using newtonsoft.Json
我最近做了一个注册并遇到了一个问题,除非我的个人对象中的属性被设置而不是私有设置,否则下面这一行将无法工作
AllPeopleAdded.AddRange(JsonConvert.DeserializeObject<List<Person>>(File.ReadAllText(jsonfilePath)));
当我说不起作用时,我的意思是我的列表中的 JsonConvert.DeserializeObject returns 空值。
这个人 class 有 2 个属性
public string mFirstName {get;set; }
public string mLastName {get;set; }
有什么原因吗?
您仍然可以将 属性 设为私有,但您需要添加属性。这将正常工作
public class Person
{
[JsonProperty]
public string mFirstName { get; private set; }
[JsonProperty]
public string mLastName { get; private set; }
}
即使这样也能用,但用处不大
public class Person
{
[JsonProperty]
private string mFirstName;
[JsonProperty]
private string mLastName;
}
我最近做了一个注册并遇到了一个问题,除非我的个人对象中的属性被设置而不是私有设置,否则下面这一行将无法工作
AllPeopleAdded.AddRange(JsonConvert.DeserializeObject<List<Person>>(File.ReadAllText(jsonfilePath)));
当我说不起作用时,我的意思是我的列表中的 JsonConvert.DeserializeObject returns 空值。
这个人 class 有 2 个属性
public string mFirstName {get;set; }
public string mLastName {get;set; }
有什么原因吗?
您仍然可以将 属性 设为私有,但您需要添加属性。这将正常工作
public class Person
{
[JsonProperty]
public string mFirstName { get; private set; }
[JsonProperty]
public string mLastName { get; private set; }
}
即使这样也能用,但用处不大
public class Person
{
[JsonProperty]
private string mFirstName;
[JsonProperty]
private string mLastName;
}