internal static MetricSeriesList DeserializeMetricSeriesList(JsonElement element) { Optional <string> nextLink = default; Optional <IReadOnlyList <MetricSeriesDefinition> > value = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("@nextLink")) { nextLink = property.Value.GetString(); continue; } if (property.NameEquals("value")) { List <MetricSeriesDefinition> array = new List <MetricSeriesDefinition>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(MetricSeriesDefinition.DeserializeMetricSeriesDefinition(item)); } value = array; continue; } } return(new MetricSeriesList(nextLink.Value, Optional.ToList(value))); }
internal static MetricSeriesData DeserializeMetricSeriesData(JsonElement element) { Optional <MetricSeriesDefinition> id = default; Optional <IReadOnlyList <DateTimeOffset> > timestampList = default; Optional <IReadOnlyList <double> > valueList = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("id")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } id = MetricSeriesDefinition.DeserializeMetricSeriesDefinition(property.Value); continue; } if (property.NameEquals("timestampList")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } List <DateTimeOffset> array = new List <DateTimeOffset>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(item.GetDateTimeOffset("O")); } timestampList = array; continue; } if (property.NameEquals("valueList")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } List <double> array = new List <double>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(item.GetDouble()); } valueList = array; continue; } } return(new MetricSeriesData(id.Value, Optional.ToList(timestampList), Optional.ToList(valueList))); }
internal static MetricSeriesData DeserializeMetricSeriesData(JsonElement element) { MetricSeriesDefinition id = default; IReadOnlyList <DateTimeOffset> timestampList = default; IReadOnlyList <double> valueList = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("id")) { id = MetricSeriesDefinition.DeserializeMetricSeriesDefinition(property.Value); continue; } if (property.NameEquals("timestampList")) { List <DateTimeOffset> array = new List <DateTimeOffset>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(item.GetDateTimeOffset("O")); } timestampList = array; continue; } if (property.NameEquals("valueList")) { List <double> array = new List <double>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(item.GetDouble()); } valueList = array; continue; } } return(new MetricSeriesData(id, timestampList, valueList)); }