Node.js 读取外部JSON文件-NodeJs

Node.js 读取外部JSON文件-NodeJs,node.js,json,Node.js,Json,我试图在NodeJS中读取一个外部JSON文件,但它在JSON的开头返回undefined。我使用的是readFileSync,因为这是一个配置文件,在继续之前需要先完成这个过程 注意:外部文件顶部没有空格 外部JSON文件 { email:{ username: "someUserName", password: "somePassword" }, database: { username: &q

我试图在NodeJS中读取一个外部JSON文件,但它在JSON的开头返回
undefined
。我使用的是
readFileSync
,因为这是一个配置文件,在继续之前需要先完成这个过程

注意:外部文件顶部没有空格

外部JSON文件

{
   email:{
       username: "someUserName",
       password: "somePassword"
   },
   database: {
      username: "databaseUser",
      password:"datbasePassword"
   }
}
节点JS

"use strict";

const fs = require("fs");
let rawData = fs.readFileSync("/run/secrets/secrets_file.json");
let secrets= JSON.parse(rawData);

console.log("SECRETS: ", secrets);

返回

undefined:1
data = {

SyntaxError: Unexpected token d in JSON at position 0
    at JSON.parse (<anonymous>)

未定义:1
数据={
SyntaxError:JSON中位置0处出现意外标记d
在JSON.parse()处

这里发生了什么事?

您是否检查并输入了json中的“d”,而该“d”在屏幕前面是不可见的。这可能是错误写入文件中的其他地方的。

您的json文件不是有效的json。您需要引用这些键

{
    "email": {
        "username": "someUserName",
        "password": "somePassword"
    },
    "database": {
       "username": "databaseUser",
       "password": "datbasePassword"
    }
}

验证您的JSON。它无效。您需要双引号引用键和值。谢谢@jarmod-我太习惯于编写对象,而不是JSON。谢谢。大多数使用lint的现代编程编辑器都会突出显示问题,这是检测问题的好方法。还请注意,如果您只需要读取一个文件,您可以使用
require
加载JSON文件的方式。对同一请求的后续调用将从缓存返回。