JSON.parse无故失败

我正在使用NodeJS,下面的JSON.parse失败,但我无法解决原因:

> s[0] '[["hands[0].session.buyin", "332"]]' > JSON.parse(s[0]); SyntaxError: Unexpected token  at Object.parse (native) at repl:1:6 at REPLServer.self.eval (repl.js:110:21) at repl.js:249:20 at REPLServer.self.eval (repl.js:122:7) at Interface.<anonymous> (repl.js:239:12) at Interface.EventEmitter.emit (events.js:95:17) at Interface._onLine (readline.js:202:10) at Interface._line (readline.js:531:8) at 

有问题的string已经从文件加载。 如果我把string复制到控制台,它的工作原理,所以我怀疑它可能是文件编码的方式,但我不能解决什么。 JSON.parse的错误消息显然是无益的。

看起来该String包含一个字节顺序标记 。

 > s[0].charCodeAt(0).toString(16) 'feff' 

JSON.parse()可以pipe理其余部分之前,您必须将其 JSON.parse()

 > JSON.parse(s[0].trim()) [ [ 'hands[0].session.buyin', '332' ] ] 

在节点v0.10.12的REPL上,这工作正常:

 > var b = '[["hands[0].session.buyin", "332"]]'; undefined > JSON.parse(b) [ [ 'hands[0].session.buyin', '332' ] ] > 

该string是二维数组的有效JSON表示。

你的环境是什么?