我有点卡在如何从一个对象内的对象获取值。我尝试了很多方法,但似乎无法返回值。如何从对象内的对象抽象值?
VAR结果返回JSON这样:
{
"Date": "2016-12-14"
"Stats": {
"A": 9.23,
"B": 5.63,
"C": 0
}
}
的代码,试图访问“统计”值:
var apiResult = await client.GetStringAsync(url);
var results = apiResult.DeserializeObject<StatsLA>(apiResult);
object[] getValues = results.GetType()
.GetProperties()
.Select(p =>
{
object value = p.GetValue(results);
return value == null ? null : value.ToString();
})
.ToArray();
的最终目标是要遍历结果,并只返回多个值在这个例子中只有“A”和“B”会返回。我知道如何做loop/linq语句,但首先我需要获取值。任何建议,将不胜感激,或只是指出如何处理正确的方向。
这是类文件:
public class StatsLA
{
public string Date { get; set; }
public LocalStats stats { get; set; }
}
public class LocalStats
{
public double A { get; set; }
public double B { get; set; }
public double C { get; set; }
}
期望的结果:
{
"Date": "2016-12-14"
"Stats": {
"A": 9.23,
"B": 5.63
}
}
我建议在Json.NET中使用'JObject'模型,而不是像这样的场景中使用强类型的反序列化。 – Dai