C#JSON中的反序列化列表

C#JSON中的反序列化列表,c#,json,deserialization,C#,Json,Deserialization,假设我有这样的JSON,如何为反序列化建模我的类 我可以为标准属性(如“dummy”或普通数组)建模类,但在本例中,我的“links”数组是一个具有不同名称的项列表(“addons”、“conditions”、“conversion”等) 假设您正在专门寻找链接类型集,如果您愿意,在JSON中,您是否可以使用以下内容,并在根对象上执行反序列化 工作dotNet小提琴: 查看fiddle页面控制台窗格上的输出 然后像这样执行反序列化程序 var myDummyLinksList = JsonCon

假设我有这样的JSON,如何为反序列化建模我的类

我可以为标准属性(如“dummy”或普通数组)建模类,但在本例中,我的“links”数组是一个具有不同名称的项列表(“addons”、“conditions”、“conversion”等)


假设您正在专门寻找
链接类型集
,如果您愿意,在JSON中,您是否可以使用以下内容,并在
根对象
上执行
反序列化

工作dotNet小提琴: 查看fiddle页面控制台窗格上的输出

然后像这样执行
反序列化程序

var myDummyLinksList = JsonConvert.DeserializeObject<RootObject>(jsonText);
var myDummyLinksList=JsonConvert.DeserializeObject(jsonText);
其中
jsonText
包含示例中列出的json字符串:

但是,如果
列出的
链接
对象是动态的,并且其中的对象数量不同,需要捕获所有对象,则可能需要编写一个自定义的转换器,该转换器继承自
JsonConverter
对象。然后使用已发布的

我用我的dotNet工具实现了他的解决方案,它就像一个负责动态案例的老板

工作dotNet Fiddle(动态案例):
希望这有帮助

假设您专门寻找
链接类型集
,如果您愿意,在JSON中,您是否可以使用以下内容,并在
根对象
上执行
反序列化

工作dotNet小提琴: 查看fiddle页面控制台窗格上的输出

然后像这样执行
反序列化程序

var myDummyLinksList = JsonConvert.DeserializeObject<RootObject>(jsonText);
var myDummyLinksList=JsonConvert.DeserializeObject(jsonText);
其中
jsonText
包含示例中列出的json字符串:

但是,如果
列出的
链接
对象是动态的,并且其中的对象数量不同,需要捕获所有对象,则可能需要编写一个自定义的转换器,该转换器继承自
JsonConverter
对象。然后使用已发布的

我用我的dotNet工具实现了他的解决方案,它就像一个负责动态案例的老板

工作dotNet Fiddle(动态案例):
希望这有帮助

假设您专门寻找
链接类型集
,如果您愿意,在JSON中,您是否可以使用以下内容,并在
根对象
上执行
反序列化

工作dotNet小提琴: 查看fiddle页面控制台窗格上的输出

然后像这样执行
反序列化程序

var myDummyLinksList = JsonConvert.DeserializeObject<RootObject>(jsonText);
var myDummyLinksList=JsonConvert.DeserializeObject(jsonText);
其中
jsonText
包含示例中列出的json字符串:

但是,如果
列出的
链接
对象是动态的,并且其中的对象数量不同,需要捕获所有对象,则可能需要编写一个自定义的转换器,该转换器继承自
JsonConverter
对象。然后使用已发布的

我用我的dotNet工具实现了他的解决方案,它就像一个负责动态案例的老板

工作dotNet Fiddle(动态案例):
希望这有帮助

假设您专门寻找
链接类型集
,如果您愿意,在JSON中,您是否可以使用以下内容,并在
根对象
上执行
反序列化

工作dotNet小提琴: 查看fiddle页面控制台窗格上的输出

然后像这样执行
反序列化程序

var myDummyLinksList = JsonConvert.DeserializeObject<RootObject>(jsonText);
var myDummyLinksList=JsonConvert.DeserializeObject(jsonText);
其中
jsonText
包含示例中列出的json字符串:

但是,如果
列出的
链接
对象是动态的,并且其中的对象数量不同,需要捕获所有对象,则可能需要编写一个自定义的转换器,该转换器继承自
JsonConverter
对象。然后使用已发布的

我用我的dotNet工具实现了他的解决方案,它就像一个负责动态案例的老板

工作dotNet Fiddle(动态案例):
希望这有帮助

链接
属性可以解析为键、值字典,类可以是

public class JSONClass
{
    public string dummy { get; set; }
    public Dictionary<string, Link> links;

    public class Link
    {
        public string Href { get; set; }
        public string Method { get; set; }
    }
}
public类JSONClass
{
公共字符串伪{get;set;}
公共词典链接;
公共类链接
{
公共字符串Href{get;set;}
公共字符串方法{get;set;}
}
}
然后反序列化为

var obj = Newtonsoft.Json.JsonConvert.DeserializeObject<JSONClass>(JSON);
var obj=Newtonsoft.Json.JsonConvert.DeserializeObject(Json);

可以将
links
属性解析为键、值字典,类可以是

public class JSONClass
{
    public string dummy { get; set; }
    public Dictionary<string, Link> links;

    public class Link
    {
        public string Href { get; set; }
        public string Method { get; set; }
    }
}
public类JSONClass
{
公共字符串伪{get;set;}
公共词典链接;
公共类链接
{
公共字符串Href{get;set;}
公共字符串方法{get;set;}
}
}
然后反序列化为

var obj = Newtonsoft.Json.JsonConvert.DeserializeObject<JSONClass>(JSON);
var obj=Newtonsoft.Json.JsonConvert.DeserializeObject(Json);

可以将
links
属性解析为键、值字典,类可以是

public class JSONClass
{
    public string dummy { get; set; }
    public Dictionary<string, Link> links;

    public class Link
    {
        public string Href { get; set; }
        public string Method { get; set; }
    }
}
public类JSONClass
{
公共字符串伪{get;set;}
公共词典链接;
公共类链接
{
公共字符串Href{get;set;}
公共字符串方法{get;set;}
}
}
然后反序列化为

var obj = Newtonsoft.Json.JsonConvert.DeserializeObject<JSONClass>(JSON);
var obj=Newtonsoft.Json.JsonConvert.DeserializeObject(Json);

可以将
links
属性解析为键、值字典,类可以是

public class JSONClass
{
    public string dummy { get; set; }
    public Dictionary<string, Link> links;

    public class Link
    {
        public string Href { get; set; }
        public string Method { get; set; }
    }
}
public类JSONClass
{
公共字符串伪{get;set;}
公共词典链接;
公共类林