Найти среднее, максимальное и минимальное значение из массива JSON
Это мой JSON
{ "samples": [ { "date": "2000-08-10T09:00:00Z", "tomato": 10, "papaya": 4, "pineapple": 4, "coconut": 4, "apple": 10 }, { "date": "2014-08-12T09:05:00Z", "tomato": 10.5, "papaya": 5, "coconut": 4, "pineapple": 4 }, { "date": "2000-08-14T09:02:00Z", "tomato": 10.8, "papaya": 3, "pineapple": 4 }, { "date": "2000-08-16T09:02:00Z", "tomato": 11.2, "papaya": 6, "coconut": 4 }, { "date": "2000-08-18T08:58:00Z", "tomato": 10.9, "papaya": 10, "coconut": 4, "pineapple": 4, "apple": 10 }, { "date": "2000-08-20T09:10:00Z", "tomato": 9.3, "papaya": 6, "pineapple": 4 }, { "date": "2000-08-22T09:01:00Z", "tomato": 9.5, "papaya": 10, "coconut": 4, "pineapple": 4, "apple": 10 } ] }
я пытаюсь отобразить результаты следующим образом
parameter LOW AVG MAX tomato x y z pineaple x y z papaya x y z apple x y z coconut x y z This is my results, i know its wrong but i need help on how to display the like indicated above. papaya=4 apple=10 pineaple=4 tomato=10 coconut=4 papaya=5, apple=0 pineaple=4 tomato=10.5 coconut=4 papaya=3, apple=0 pineaple=4 tomato=10.8 coconut=0 papaya=6, apple=0 pineaple=0 tomato=11.2 coconut=4 papaya=10, apple=10 pineaple=4 tomato=10.9 coconut=4 papaya=6, apple=0 pineaple=4 tomato=9.3 coconut=0 papaya=10, apple=10 pineaple=4 tomato=9.5 coconut=4
Что я уже пробовал:
private void PrintOverview(байт[] данных)
{
строки jsonStr = кодировка.Кодировке utf8.Метода getString(данные);
ВАР создание экземпляра = создание экземпляра.Синтаксический анализ(jsonStr);
var samples = JsonConvert.DeserializeObject&ЛТ;образец[]&ГТ;(создание экземпляра["образцы"].Метод toString());
var allParams = образцы.Выберите(х =>, новые з {.рН, С. селитра, - ы.фосфат ов.температура, С. хлорид });
foreach (параметр var в allParams)
{
var allValues = samples.Где(x => x.tomato== parameter.tomato|| x.papaya
== parameter.papaya || x.pineapple== parameter.pineapple||
х.параметр яблоко==.яблоко| х.кокосовое ==
параметр.кокосовое)
.Выберите(х =>, новые з {.папайя, С. яблоко, з.ананас, С. помидор,
С. кокосовый орех})
.Список();
Приставка.WriteLine("{0} {1} {2}", параметр, allValues.Min(),allValues.Max());
}
}
образец публичного класса
{
public DateTime date { get; set; }
public double totmato{ get; set; }
public int papaya { get; set; }
public int pineapple { get; set; }
public int coconut { get; set; }
public int apple { get; set; }
}
публичный класс RootObject
{
общественная список<образец&ГТ; образцы { получить; набор; }
}