gpt4 book ai didi

c# - 使用继承自 List 的类进行 JSON 序列化

转载 作者:行者123 更新时间:2023-12-05 02:20:31 26 4
gpt4 key购买 nike

我有一个继承自 List<T> 的类并再添加一个类属性

public class DrivenList : List<int>
{
public string Name {get;set;}

private DrivenList() { }

public DrivenList(string name) { this.Nname = name; }
}

当使用 Newtonsoft.Json 对对象进行 JSON 序列化时,我只得到列表项。 ( [1,2,3] )

关于如何添加 Name 的任何想法结果的属性?

解决:通过将此属性添加到列表中

[JsonObject(MemberSerialization = MemberSerialization.Fields)]
public class DrivenList : List<int>

最佳答案

据我所知,使用 Newtonsoft 您所能做的就是这样:

[JsonObject(MemberSerialization = MemberSerialization.Fields)]
public class DrivenList : List<int>
{

[JsonProperty]
public string Name { get; set; }

private DrivenList() { }

public DrivenList(string name) { this.Name = name; }
}

但这会添加您不需要的(可能)字段。

就我个人而言,我会使用组合而不是继承:

public class DrivenList
{
public string Name { get; set; }

public List<int> Items { get; set; }

private DrivenList() { }

public DrivenList(string name) { this.Name = name; }
}

关于c# - 使用继承自 List<T> 的类进行 JSON 序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39092627/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com