在 NodeJS 中读取 JSON 文件的另一种方法

Another way to read a JSON File in NodeJS

我根据需要阅读本地 json 并导出阅读功能

var saborServicioJSON = require("../app/JSONFiles/customerSatisfaction.json");
module.exports = {
loadTableSS: function (payload) {
    var sucursales = JSON.parse(payload.payload.Sucursales);
    var selectedweek = payload.payload.SelectedWeek;
    var selectedyear = payload.payload.SelectedYear;
    var JSONobj;
    var arrayTable = [];
    JSONobj = saborServicioJSON;
    for (let i = 0; i < sucursales.length; i++) {
        const sucursal = sucursales[i].toString();
        $(JSONobj).each(function (index, item) {
            var datadate = new Date(item.date);
            var datayear = datadate.getFullYear();
            if (item.storeID == sucursal && item.week == selectedweek && datayear == selectedyear) {
                arrayTable.push(item);
            }
        });
    }
    return arrayTable;

 }
}

我在我的路由文件中导出阅读功能以将其用作 Web 服务

const reportsController = require('../private_modules/ReportsController')

server.route({
method: 'POST',
path: '/ssLoadTable',
handler: function (request, reply) {
  var tableData = reportsController.loadTableSS(request);
  reply(tableData);
}

});

我需要另一种方法来读取 JSON 文件 我试过使用这个

    fs.readFile('./app/JSONFiles/customerSatisfaction.json', 'utf8', function (err, data) {});

但我不能 return 我的数据数组在 fs.readFile 方法中

您将必须解析数据并使用同步函数或正确处理异步。

注意:最好使用路径模块,而不是相对路径。

let data = JSON.parse(fs.readFileSync(path.join(__dirname, 'app', 'JSONFiles','customerSatisfaction.json'), 'utf8'));