Node.js 读取外部JSON文件-NodeJs
我试图在NodeJS中读取一个外部JSON文件,但它在JSON的开头返回Node.js 读取外部JSON文件-NodeJs,node.js,json,Node.js,Json,我试图在NodeJS中读取一个外部JSON文件,但它在JSON的开头返回undefined。我使用的是readFileSync,因为这是一个配置文件,在继续之前需要先完成这个过程 注意:外部文件顶部没有空格 外部JSON文件 { email:{ username: "someUserName", password: "somePassword" }, database: { username: &q
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文件的方式。对同一请求的后续调用将从缓存返回。