Я разрабатываю часть приложения, в которой мне нужно создавать отчеты о некоторых спортсменах-пользователях и просматривать их на графике:
даты и количество воздействий определенного подъема
Вотhtml и javascript:
<div class="chart" id="bar-chart-@exposureReport.AthleteId" style="height: 300px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0);">
<script>
drawChart('@exposureReport.CoachId', '@exposureReport.AthleteId');
function drawChart(coachId, athleteId) {
//debugger;
$.getJSON('@Url.Action("FetchAthleteChartData", "Reports")?coachId=' + coachId + '&athleteId=' + athleteId,
function (data) {
var datax = JSON.stringify(data);
alert(datax);
Morris.Bar({
element: 'bar-chart-' + athleteId,
resize: true,
barSizeRatio: 0.12,
barGap: 3,
data: $.parseJSON(datax),
barColors: ['#ff0000'],
xkey: ['exposures'],
ykeys: ['dates'],
labels: ['Times exposed'],
hideHover: 'auto'
});
}
);
}
</script>
</div>
Я смотрю все отчеты, которые у меня есть в текущем представлении, и предпросматриваю их.Я хочу показать диаграмму для каждого отчета.
Я вызываю функцию javascript и передаю значения coachId и athleteId и позволяю серверу получить данные для меня:
[HttpGet]
public JsonResult FetchAthleteChartData(string coachId, string athleteId)
{
var exerciseReport =
_applicationUserOperations.GetAllExposureReportsForCoachByAthleteId(coachId, athleteId);
var filteredDates = exerciseReport.Exposures.Select(x => x.ExposureDate).ToList();
var filteredExposures = exerciseReport.Exposures.Select(x => x.NumberOfLifts).ToList();
var result = new
{
Dates = filteredDates,
Exposures = filteredExposures
};
return Json(result);
}
Когда мое предупреждение (datax) запускает, который он показывает (у меня есть только одна запись для тренировки / упражнения / подъема):
{"dates":["2018-06-01T00:00:00"],"exposures":[5]}
Это правильный формат для анализа?Как мне разобрать его, чтобы данные диаграммы могли его понять и отобразить.