Как выделить массив объектов из сложного объекта json
НУЖНО получить ответ на localhost (код урезан для наглядности)
[{"num":1,"name":"track_1.json","mes":
[{"Time":"1","Azimuth":2.83,"Elevation":0.37},
{"Time":"2","Azimuth":2.83,"Elevation":0.37}]
},
{"num":2,"name":"track_2.json","mes":
[{"Time":"3","Azimuth":2.83,"Elevation":0.37},
{"Time":"4","Azimuth":2.83,"Elevation":0.37},
{"Time":"5","Azimuth":2.83,"Elevation":0.36}]
}]
из множества json файлов в папке. Сейчас ВЫДАЕТСЯ вид:
[{"num":1,"name":"track_1.json","mes":
[{"Time":"1","Azimuth":2.83,"Elevation":0.37},
{"Time":"2","Azimuth":2.83,"Elevation":0.37}
{"Time":"3","Azimuth":2.83,"Elevation":0.37},
{"Time":"4","Azimuth":2.83,"Elevation":0.37},
{"Time":"5","Azimuth":2.83,"Elevation":0.36}]
},
{"num":2,"name":"track_2.json","mes":
[{"Time":"1","Azimuth":2.83,"Elevation":0.37},
{"Time":"2","Azimuth":2.83,"Elevation":0.37}
{"Time":"3","Azimuth":2.83,"Elevation":0.37},
{"Time":"4","Azimuth":2.83,"Elevation":0.37},
{"Time":"5","Azimuth":2.83,"Elevation":0.36}]
}]
то есть валит измерения со всех файлов в одну кучу
код js выглядит так
const fs = require("fs")
const http = require("http")
const url = require("url")
const {parse} = require("querystring")
const dirName = 'tracks'
function scanDir(dn){
return fs.readdirSync(dn, {withFileTypes:true}).filter(file=>{return file.isFile() && file.name.includes('track')}).map(f=>{return f.name})
}
const port = 3333
const server = http.createServer((req,res) =>{
console.log("server work")
const tr = []
const mes = []
let m = ''
scanDir(dirName).forEach((name, index) => {
const a = fs.readFileSync(dirName + '/' + name)
const obj = JSON.parse(a)
tr.push({
num: index+1,
name: name,
mes: mesPush(obj.LiteCoords.length, obj)
})
})
//выдает измерения всех файлов сразу
function mesPush(m, obj) {
for ( let i=0; i< m; i++){
mes.push({
Time: obj.LiteCoords[i].Time,
Azimuth: obj.LiteCoords[i].Azimuth,
Elevation: obj.LiteCoords[i].Elevation
})
}
return mes;
}
res.end(JSON.stringify(tr))
console.log('Request');
}).listen(port)
Помогите разграничить объекты в объекте по индексам или именам файлов...