【发布时间】:2022-01-06 21:38:02
【问题描述】:
我有以下响应结构,它将在 API 调用之后被序列化。
public class Details
{
public string firstName { get; set; }
}
public class Result
{
public int maxTry { get; set; }
public int minTry { get; set; }
public List<Details> aggr { get; set; }
public List<string> features { get; set; }
public string zone { get; set; }
}
[Serializable]
public class Root
{
public List<Result> result { get; set; }
}
我有以下作为 API 响应的对象数组。
"result": [
{
“maxTry: 17,
"minTry”: 10,
"details": [
{
“firstName”: “Sam”,
},
{
"firstName”: ”Julio”,
}
],
"aggr": [
“Abc”,
],
"zone": “D3”
},
{
"aggr": [
"Abc",
],
"zone": “C3”
},
{
"aggr": [
"Abc",
],
"zone": “B2”
},
]
}
问题是即使某些对象在响应中没有maxTry 和minTry 属性,当我按如下反序列化响应时,
var jobject = JsonConvert.DeserializeObject<Root>(res);
我仍然得到 maxTry 和 minTry 默认为 0 的输出。可以改为默认为 null
【问题讨论】:
标签: c# asp.net-mvc