序列化c#对象集合,如何获取引用对象的某些属性?
serialization c# object collection, how to get just certain property of references object?
这是 class:
public class Category
{
public guid id,
public string name,
public Category Parent
}
我正在使用Json.net序列化它的一个集合,但我不想序列化父对象,只需要id:
我期待什么:
[
{'name':'cate1','id':1000,'parent':999}
{'name':'cate2','id':1001,'parent':998}
]
我已经阅读了有关 Serialization Attributes 但没有找到解决方案的信息。
最简单的方法是为父 id 添加一个 get-only 属性(私有或 public,根据您的喜好),然后序列化它,忽略实际的 Parent
属性:
public class Category
{
public int id;
public string name;
[JsonIgnore]
public Category Parent;
[JsonProperty("parent", NullValueHandling = NullValueHandling.Ignore)]
int? ParentId { get { return Parent == null ? (int?)null : Parent.id; } }
}
这是 class:
public class Category
{
public guid id,
public string name,
public Category Parent
}
我正在使用Json.net序列化它的一个集合,但我不想序列化父对象,只需要id: 我期待什么:
[
{'name':'cate1','id':1000,'parent':999}
{'name':'cate2','id':1001,'parent':998}
]
我已经阅读了有关 Serialization Attributes 但没有找到解决方案的信息。
最简单的方法是为父 id 添加一个 get-only 属性(私有或 public,根据您的喜好),然后序列化它,忽略实际的 Parent
属性:
public class Category
{
public int id;
public string name;
[JsonIgnore]
public Category Parent;
[JsonProperty("parent", NullValueHandling = NullValueHandling.Ignore)]
int? ParentId { get { return Parent == null ? (int?)null : Parent.id; } }
}