Как выделить массив объектов из сложного объекта 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)

Помогите разграничить объекты в объекте по индексам или именам файлов...


Ответы (0 шт):