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

时间:2016-06-08 16:38:10

标签: javascript node.js

我使用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时,它被正确读取。有谁知道为什么我看不懂我的文件?

4 个答案:

答案 0 :(得分:1)

您有2个选项

添加encoding选项

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

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

需要json

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

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

答案 1 :(得分:0)

我希望这段代码可以帮助你

  

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

     

警报(JSON [ '测试'])
  //如果按摩显示'对象对象'然后第一个钱包
  //json=JSON.parse(json)// alert(json ['test'])});

答案 2 :(得分:0)

问题的解决方法是在notepad ++中打开文件并在没有BOM的情况下保存它。看起来像json通过visual studio创建添加BOM

答案 3 :(得分:-2)

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

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

然后你解析就会......

 var obj = JSON.parse(myObject);