Как преобразовать объект JSON в datetime - PullRequest
1 голос
/ 01 декабря 2019

Мне нужно показать данные JSON на графике кендо.

Мой код выглядит следующим образом:

<head>
    <meta charset="utf-8"/>
    <title>Kendo UI Snippet</title>

    <link rel="stylesheet" href="https://kendo.cdn.telerik.com/2019.3.1023/styles/kendo.common.min.css"/>
    <script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
    <script src="https://kendo.cdn.telerik.com/2019.3.1023/js/kendo.all.min.js"></script>
</head>
<body>

    <div id="chart"></div>

$("#chart").kendoChart({
series: [{
    data: [new Date(formatTime(360)).getTime(), // here 360 means seconds
         new Date(formatTime(100)).getTime(),
         new Date(formatTime(125)).getTime(),
         new Date(formatTime(146)).getTime(),
         new Date(formatTime(65)).getTime(),
         new Date(formatTime(185)).getTime(),
         new Date(formatTime(236)).getTime(),
         new Date(formatTime(100)).getTime()],
    color: "Blue",
    name: "Average time",                        
    type: "line"            
},
{
    data: [new Date(formatTime(760)).getTime(),
         new Date(formatTime(100)).getTime(),
         new Date(formatTime(125)).getTime(),
         new Date(formatTime(148)).getTime(),
         new Date(formatTime(65)).getTime(),
         new Date(formatTime(185)).getTime(),
         new Date(formatTime(236)).getTime(),
         new Date(formatTime(100)).getTime()],
    color: "Red",
    name: "Wait time",                        
    type: "bar",            
}       

]
,
valueAxis: {
  labels: {
    template: "#= kendo.format('{0:HH:mm:ss}', new Date(value)) #"
  },
  min: new Date("2018/02/01").getTime(),
  majorUnit: 10 * 60 * 1000 // 20 minutes step
},
tooltip: {
  visible: true,
  template: "#= kendo.format('{0:HH:mm:ss}', new Date(value)) #"
}
});



function formatTime(time) {
var rootDate = new Date(new Date(2018, 1, 1, 0, 0, 0).setSeconds(time));
return rootDate;
}

здесь вы можете видеть, я устанавливаю статические данные диаграммы как data: [new Date(formatTime(360)).getTime()] Мне нужно установить динамический объект JSOn для отображения данных из объекта JSON.

У меня есть следующий объект JSON.

[{
    day: "YYY",
    second: "100",
    second2: "125"
}, {
    day: "XXX",
    second: "145",
    second2: "117"
}, {
    day: "TTT",
    second: "565",
    second2: "340"
}, {
    day: "SSS",
    second: "125",
    second2: "250"
}]

Я получаю отдельный ключ JSON от бэкэнда как second и second2. Мне нужно установить эти поля в ряд Chart как объект new date,как я могу это сделать

...