Я пытаюсь получить данные из API Mixpanel. Результат JSON выглядит так:
{"computed_at": "2019-11-19T10:36:33.908802+00:00", "legend_size": 1, "data": {"series": ["2019-11-11", "2019-11-12", "2019-11-13"], "values": {"page views": {"2019-11-12": 111, "2019-11-11": 573, "2019-11-13": 209}}}}
Я хочу заполнить этот объект значениями:
public class ResultData
{
public string Title { get; set; }
public int Value { get; set; }
public string Category { get; set; }
}
В частности, я хочу, чтобы ResultData.Value
было суммой 111
, 573
и 209
(просмотры страниц за 3 дня). Может ли кто-нибудь помочь мне разобраться, как это сделать?
Это то, что я пробовал до сих пор:
public async Task<ResultData> GetData()
{
using (var client = new HttpClient())
{
try
{
var formattedDateFrom = DateTime.Today.AddDays(-1).ToString("yyyy-MM-dd");
var formattedDateTo = DateTime.Now.ToString("yyyy-MM-dd");
string baseUrl = "https://mixpanel.com/api/2.0/segmentation?from_date=" + formattedDateFrom + "&to_date=" + formattedDateTo + "&event=patient+-+booking+-+booked+appointment";
var response = await client.GetAsync(baseUrl);
var stringResult = await response.Content.ReadAsStringAsync();
var rawData = JsonConvert.DeserializeObject<ResultData>(stringResult);
var mixpanelResult = new ResultData();
mixpanelResult.Value = rawData.Value;
mixpanelResult.Title = "Page Views";
return await Task.FromResult(mixpanelResult);
} catch (HttpRequestException httpRequestException)
{
// Not sure what to put here but will try and work it out later
}
}
}
Я знаю, что rawData.Value
неверно, так как это должна быть сумма просмотров страниц, но на данный момент это даже не десериализация. Когда я добавляю точку останова, rawData
представляет собой не что иное, как baseUrl
Я немного новичок во всем этом, и любая помощь будет очень признательна. Большое спасибо заранее!