C# 如何正确反序列化此对象?
我使用了一个API,它返回一组带有某些属性的公司符号,但我不知道应该如何对其进行反序列化C# 如何正确反序列化此对象?,c#,json,asp.net-core,json-deserialization,C#,Json,Asp.net Core,Json Deserialization,我使用了一个API,它返回一组带有某些属性的公司符号,但我不知道应该如何对其进行反序列化 { "A": { "advanced-stats": { "prop1": 0.198791, "prop2": 16.59, "prop3": 12.44, } }, "AA": { "advanced-stats": { "prop1":
{
"A": {
"advanced-stats": {
"prop1": 0.198791,
"prop2": 16.59,
"prop3": 12.44,
}
},
"AA": {
"advanced-stats": {
"prop1": 0.198791,
"prop2": 16.59,
"prop3": 12.44,
}
},
"AAAU": {
"advanced-stats": {
"prop1": 0.198791,
"prop2": 16.59,
"prop3": 12.44,
}
}
}
可以使用以下类对JSON建模:
public class AdvancedStats
{
public double Prop1 { get; set; }
public double Prop2 { get; set; }
public double Prop3 { get; set; }
}
public class AdvancedRoot
{
[JsonProperty("advanced-stats")]
public AdvancedStats AdvancedStats { get; set; }
}
由于JSON键具有不同的名称,因此可以将其建模为字典
。然后反序列化(使用Newtonsoft.Json):
var results=JsonConvert.DeserializeObject(json);
这可能有助于你找到一个起点:我已经在其他网站上尝试过这种方法,但什么都没有match@Stefan您可能不想使用外部web应用程序,因为您可能会将敏感数据存储在其他地方。你应该避免使用这些标签,OP在查看标签时要求一个特定的C#解决方案。@Barrosy:嗯,我只是想开始C#建模。。。无论如何,OP似乎已经尝试过了。对象的字典(keys=A、AA等)包含“somepairtype”的List/Array类型的属性(advancedstats)。。并在任何合适的局部模型中进行转换。
var results = JsonConvert.DeserializeObject<Dictionary<string, AdvancedRoot>>(json);