如何使用jquery验证NodeJSON文件上传

如何使用jquery验证NodeJSON文件上传,jquery,node.js,json,file-upload,Jquery,Node.js,Json,File Upload,我正在阅读上传的json文件数据,但我需要知道如何在上传或上传后验证文件格式或错误的json格式数据 app.post('/upload', function (req, res) { let sampleFile; if (Object.keys(req.files).length == 0) { res.status(400).send('No files were uploaded.'); return; } // console.log('req.files

我正在阅读上传的json文件数据,但我需要知道如何在上传或上传后验证文件格式或错误的json格式数据

app.post('/upload', function (req, res) {
  let sampleFile;
  if (Object.keys(req.files).length == 0) {
    res.status(400).send('No files were uploaded.');
    return;
  }
 // console.log('req.files >>>', req.files); // eslint-disable-line
  sampleFile = req.files.sampleFile;

  uploadPath = __dirname + '/uploads/' + sampleFile.name;

  sampleFile.mv(uploadPath, function (err) {
    if (err) {
      return res.status(500).send(err);
    }
   // console.log('file', uploadPath);
    let rawdata = fs.readFileSync(uploadPath);
    var student = JSON.parse(rawdata);
    emp = student.employee;
    //console.log(emp);
    res.render('upload.ejs',{emp:emp,uploadPath:uploadPath});
  });
});

我想在上传json数据后验证它,我可以识别json对象或json数组。

可能尝试更改以下代码:

let rawdata = fs.readFileSync(uploadPath);
var student = JSON.parse(rawdata);
emp = student.employee;
作为:


好的,我可以检查上传的数据是否仅包含对象或对象数组吗?您可以执行array.isArray(此处传递变量),如果它返回true,则它是数组,否则它不是数组。请将答案标记为已接受并向上投票,如果它对您的原始问题有帮助,谢谢。
    let rawdata = fs.readFileSync(uploadPath);
    let student;
    try {
        student = JSON.parse(rawdata);
        emp = student.employee;
    } catch(e) {
        // oops! invalid json found; take possible actions here
    }
    // continue your rest code here