当前位置: 首页 > 知识库问答 >
问题:

由于第一行中有注释,无法将文件内容解析为JSON

蔡明贤
2023-03-14

我正试图以JSON格式获取文件内容,但由于第一行的原因,我无法解析JSON

/* To learn more about this file see: https://angular.io/config/tsconfig. */
{
  "compileOnSave": false,
  "compilerOptions": {
    "baseUrl": "./",
    "outDir": "./dist/out-tsc",
    "sourceMap": true,
    "declaration": false,
    "downlevelIteration": true,
    "experimentalDecorators": true,
    "moduleResolution": "node",
    "importHelpers": true,
    "target": "es2015",
    "module": "es2020",
    "lib": [
      "es2018",
      "dom"
    ]
  }
}

我正试图通过在node.js中运行这段代码来获取文件内容


function initTSConfig() {
  const filePath = path.join(__dirname, 'tsconfig.json');
  readFile(filePath)
    .then(content => {
      // let config = JSON.parse(content);
      console.log(typeof content);
      console.log(`---> TS Config was changed successfully`);
    })
    .catch(e => {
      console.log(`---> TS Config was not changed because of ${e}`);
    })
}


function readFile(filePath) {
  return new Promise((resolve, reject) => {
    fs.readFile(filePath, 'utf-8', (err, content) => {
      if (err) {
        console.warn(err);
        reject(err);
      }

      resolve(content);
    })
  })
}

如有任何帮助,我将不胜感激

共有1个答案

毛勇
2023-03-14

您可以在解析之前切掉第一行。

readFile(filePath)
  .then((content) => {
    const json = content
      .split('\n')
      .slice(1)
      .join('\n');
    const parsedObj = JSON.parse(json);

除非您使用的是一个非常过时的Node版本,否则我还建议使用fs.promission而不是自定义的允诺readfile

fs.promises.readFile(filePath, 'utf-8')
  .then((content) => {
 类似资料:
  • 问题内容: 在此 coderanch链接上,我发现以下注释将给编译器错误:- 原因是,Unicode序列直接由其对应的实际字符替换。由于’\ u000a’对应于newLine字符,因此将newLine放置在找到’\ u000a’的位置。 我的问题是,“由于注释,还有其他方式导致编译错误吗?” 问题答案: 如果在注释()中定义了不推荐使用的函数,并且设置了使用不推荐使用的方法时编译器抛出错误(至少可

  • 我正在开发一个遗留的Grails 2.3.11应用程序。当我用grails注释命令类时。验证。可验证,似乎无法找到它。然而,Validatable在另一个Grails 2.5.6应用程序上运行良好。注释是在2.3.11之后引入的吗?

  • 我在Intellij Idea 2018社区版中有一些测试代码,其中包含多个pom文件。当我运行任何testng注释测试时,我会收到一个错误,上面写着“未找到测试”。看起来问题是由于异常堆栈跟踪的这一部分: Java语言lang.NoClassDefFoundError:com/fasterxml/jackson/annotation/JsonMerge 我在谷歌上搜索了一个解决方案,发现了这个-

  • 本文向大家介绍MongoDB db.serverStatus()输出内容中文注释,包括了MongoDB db.serverStatus()输出内容中文注释的使用技巧和注意事项,需要的朋友参考一下 版本一: Field Example Value Explanation Host te.rzw.com:27018 运行实例所监听的与端口 version 1.8.3 当前实例所使用的版本 Proces

  • 我正在使用Swagger3.0.0-Snapshot为我的Spring Boot应用程序创建文档。我的maven依赖项是 我的swagger配置类尽可能简单: 而我的controller方法有以下注释: json文件的内容必须显示在Swagger UI的示例字段中。

  • 我试图将文本解析为持续时间,如下所示: 但是我得到以下错误, 有人能告诉我我的问题在哪里吗?