Я немного зациклился на том, как получить значение от объекта внутри объекта. Я пробовал множество методов, но, похоже, не возвращал значение.Как абстрагировать значение от объекта внутри объекта?
результатов вара вернуться 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();
Конечной целью является Переберите результаты и возвращать только те значения, которые больше чем 0. В этом примере возвращаются только «А» и «В». Я знаю, как сделать оператор 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
}
}
Я предлагаю использовать модель JObject с Json.NET вместо строго типизированной десериализации в таких сценариях. – Dai