You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修复Node.js中的JSON.parse解析错误?

Node.js Express代码错误修复方案

错误原因拆解

  • 语法逻辑错误:关键行把JSON.parse()的调用写成了连续赋值JSON.parse=fs.readFileSync(...),这不仅无法解析JSON,还会覆盖JSON.parse方法,直接触发错误
  • 模块导入错误:第一行没先导入express模块就调用express(),会导致express is not a function的引用错误
  • 未处理异常:原代码没有处理文件读取失败或JSON格式非法的情况,容易导致服务器崩溃

修复后的完整代码

const express = require('express');
const app = express();
const fs = require("fs");

// 初始化movies变量,加入异常处理避免服务器崩溃
let movies = [];
try {
  // 先读取文件内容,再用JSON.parse解析
  const movieFileContent = fs.readFileSync("movies.json", "utf-8");
  movies = JSON.parse(movieFileContent);
} catch (error) {
  console.error("处理movies.json文件出错:", error.message);
}

// 修正路径笔误:原代码是/api/vi/movies,应该是/api/v1/movies(版本号v1)
app.get("/api/v1/movies", (req, res) => {
  res.status(200).json({
    status: "success", 
    data: {
      movies
    }
  })
})

app.listen(3000, "127.0.0.1", () => {
  console.log("服务器已启动,监听3000端口...");
});

额外注意事项

  • 确认movies.json在项目根目录,若不在,建议用绝对路径(需导入path模块:const path = require('path');,然后用fs.readFileSync(path.join(__dirname, 'movies.json'), 'utf-8'))
  • 检查movies.json内容是否为合法JSON:比如字符串用双引号、数组/对象末尾不能有多余逗号、结构嵌套正确
  • 加入try-catch后,即使文件出问题,服务器也能正常运行,不会直接崩溃

内容的提问来源于stack exchange,提问作者Codes

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 15:25:03