Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js nodejson.parse-SyntaxError:JSON中位于位置0的意外标记u_Node.js_Json_Parsing - Fatal编程技术网

Node.js nodejson.parse-SyntaxError:JSON中位于位置0的意外标记u

Node.js nodejson.parse-SyntaxError:JSON中位于位置0的意外标记u,node.js,json,parsing,Node.js,Json,Parsing,基本上,我所要做的只是使用以下代码解析我的JSON文件: var fileName = `./tasks/file-1.json` fs.readFile(fileName, function(err, data){ var parsedData = JSON.parse(data); console.log(`Entered ${parsedData.fname}`); }); 我的文件-1.json文件如下所示: { "fname": "Test" } 因此,无

基本上,我所要做的只是使用以下代码解析我的JSON文件:

var fileName = `./tasks/file-1.json`

fs.readFile(fileName, function(err, data){

    var parsedData = JSON.parse(data);
    console.log(`Entered ${parsedData.fname}`);

});
我的文件-1.json文件如下所示:

{
  "fname": "Test"
}
因此,无论出于何种原因,控制台都应该记录“Entered Test”(进入测试),但它向我抛出了错误:

SyntaxError:JSON中位于位置0的意外标记u

我已经检查了所有的东西,我不确定从这里去哪里


感谢您的帮助

您好,我创建了一个简单的示例。 文件名必须是精确的driectory,JSON文件不应包含

您可以使用
\u dirname
为您提供当前目录路径和
路径。join
组合给定的字符串参数以了解路径

希望这有帮助

// index.js
const fs = require('fs');
const path= require('path');

const file = fs.readFileSync(path.join(__dirname, 'test.json'));
console.log(JSON.parse(file.toString()).key);

检查文件的编码

也尝试

fs.readFile(fileName, 'utf8', function(err, data){

    var parsedData = JSON.parse(data);
    console.log(`Entered ${parsedData.fname}`);

});

检查JSON文件是否与您提供的路径相同

这一个正在工作,兄弟

const fs = require('fs')
const fileName = './tasks/file-1.json'

fs.readFile(fileName, function(err, data){
    var parsedData = JSON.parse(data);
    console.log(`Entered: ${parsedData.fname}`);
});

这是完整的代码还是一个片段?因为你的代码是有效的fine@AnkitAgarwal这是除了常量fs=require('fs')之外的完整代码;我让节点项目在本地运行,我尝试了您的代码,在中得到了
“enteredtest”
console@AnkitAgarwal有时会发生,但不总是这样。你能弄明白吗?
const fs = require('fs')
const fileName = './tasks/file-1.json'

fs.readFile(fileName, function(err, data){
    var parsedData = JSON.parse(data);
    console.log(`Entered: ${parsedData.fname}`);
});