繁体   English   中英

无法解析JSON文件-意外令牌

[英]Can't parse JSON file - Unexpected token

我已经使用Visual Studio创建了json文件:

{
  "test":  "asd"
}

使用此代码读取它:

 var test = fs.readFileSync('./files/test.json')
 var obj = JSON.parse(test);

导致错误: Unexpected token  in JSON at position 0

当我尝试读取package.json时,它被正确读取。 有谁知道为什么我无法读取我的文件?

您有2个选择

添加encoding选项

var test = fs.readFileSync('./files/test.json', {encoding: 'utf8'})
var obj = JSON.parse(test);

如果指定了encoding选项,则此函数返回一个字符串。 否则,它将返回一个缓冲区。

需要json

var obj = require('./files/test.json');

从节点v0.5.x开始,您可以像需要js文件一样要求JSON。

我希望这段代码对您有帮助

$ .getJSON(“ / files / test.json”,function(json){

警报(json ['test'])
//如果按摩显示“对象对象”,则触发钱包
//json=JSON.parse(json)// alert(json ['test'])});

解决该问题的方法是在notepad ++中打开文件并保存而不包含BOM。 看起来像通过Visual Studio创建的json添加了BOM

看来这是格式不正确的JSON。 他们这样修改它。

var myObject = {
        'test': 'asd'
    };

然后您将解析...

 var obj = JSON.parse(myObject);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM