【发布时间】:2021-01-27 17:18:25
【问题描述】:
使用 Node.js 读取 json 文件时出现以下错误。我在下面解释我的代码。
SyntaxError: Unexpected token # in JSON at position 0
at JSON.parse (<anonymous>)
我的 json 文件如下所示。
test.json:
#PATH:/test/
#DEVICES:div1
#TYPE:p1
{
name:'Raj',
address: {
city:'bbsr'
}
}
这个 json 文件有一些 # 包含的字符串。在这里,我需要从该文件中删除那些 # 包含的字符串。我在下面解释我的代码。
fs.readdirSync(`${process.env['root_dir']}/uploads/${fileNameSplit[0]}`).forEach(f => {
console.log('files', f);
let rawdata = fs.readFileSync(`${process.env['root_dir']}/uploads/${fileNameSplit[0]}/${f}`);
let parseData = JSON.parse(rawdata);
console.log(parseData);
});
在这里,我尝试先阅读代码,但出现上述错误。我需要从 json 文件中删除那些 # 包含的行,然后读取所有数据并将删除的行转换为像 const obj ={PATH:'/test/',DEVICES:'div1',TYPE:p1} 这样的对象。这里我使用 node.js fs 模块来实现这一点。
【问题讨论】:
-
我看不到您要删除
#的位置。在尝试使用JSON.parse解析它之前,您需要这样做 -
这能回答你的问题吗? How to remove one line from a txt file
-
这不是有效的 JSON,因此是错误的。这正是错误消息告诉您的内容。
-
@WagnerMattei:读取文件时出现错误。我在帖子中也提到过。
-
@JeremyThille:不,这不是同一个帖子。