надеюсь, я смогу помочь с этим вопросом. Во-первых, приведенный ниже код работает нормально. JSON считывается из файла, который содержит только этот JSON, цикл For in Loop итерирует его и заполняет без проблем.
{
"ID:1": {
"employee": "Mike",
"start": {
"t": "2018-08-01",
"v": 28
},
"end": {
"t": "2018-08-14",
"v": 39
}
},
"ID:2": {
"employee": "John",
"start": {
"t": "2018-08-01",
"v": 43
},
"end": {
"t": "2018-08-14",
"v": 35
}
},
}
function get_data(root,r_scale){
var my_data = [],
x=0;
for (r in root){
start_t = root[r]['start'].t
start_v = root[r]['start'].v
end_t = root[r]['end'].t
end_v = root[r]['end'].v
change = Math.abs(start_v - end_v)
my_data.push({
change: change,
id: x,
employee: root[r].employee,
start_t: start_t,
start_v: start_v,
end_t: end_t,
end_v: end_v
})
x = x + 1
}
return my_data
};
К сожалению, мне нужно поместить вышеупомянутый JSON в больший BLOB-объект, содержащий другие объекты JSON. Итак, мне нужно отформатировать его так:
"employees": [
{
"ID": 1,
"employee": "Mike",
"start": {
"t": "2018-08-01",
"v": 28
},
"end": {
"t": "2018-08-14",
"v": 39
}
},
{
"ID": 2,
"employee": "John",
"start": {
"t": "2018-08-01",
"v": 43
},
"end": {
"t": "2018-08-14",
"v": 35
}
}
]
Я не могу заставить эту работу. Я могу добавить «.employees» к корневому каталогу «root.employees [r] ...» в цикле и посмотреть данные при запуске отладчика. Но каждый раз, когда я получаю "uncaught TypeError: Не могу прочитать свойство 't' из неопределенного.
Спасибо за любую помощь!