У меня есть Json, который выглядит следующим образом:
[
{
"starttime": "2020-02-27T14:30:00Z",
"endtime": "2020-02-27T14:40:00Z"
},
{
"Temp": {
"value": 3
},
"Pressure": {
"value": 29
},
"Humidity": {
"value": 85
}
}
]
Я хотел бы десериализовать его на объект в форме:
public class Sample {
public string Name {get; set;}
public int Value {get;set;}
}
, а затем получить 3 случаи, когда для имени задано значение «Темп.», «Давление», «Влажность» и «Значение», равное 3, 29, 85. Меня не особо волнует время начала / окончания.
Любая помощь будет принята с благодарностью. .
/ Søren
Обновление:
Сам придумал это:
var tmp = JsonConvert.DeserializeObject<JArray>(content);
var samples = tmp.
SelectMany(x => ((JToken) x).Children())
.Where(x => !((JProperty) x).Name.Contains("time"))
.Select(x =>
{
var tmp2 = x.First.ToObject<Sample>();
tmp2.name = ((JProperty) x).Name;
return tmp2;
})
.ToList();
но я думаю, что решение Павла ниже, более читабельно .. ..