javascript - JSON.parse 无故失败

标签 javascript json node.js

我正在使用 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 

相关字符串已从文件中加载。如果我将字符串复制到控制台中,它就可以工作,所以我怀疑这可能与文件的编码方式有关,但我无法弄清楚是什么。 JSON.parse 的错误消息显然没有帮助。

最佳答案

String 似乎包含一个 Byte-Order Mark .

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

你必须 strip thatJSON.parse() 可以管理其余部分之前输出。

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

关于javascript - JSON.parse 无故失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18988349/

相关文章:

javascript - ES6 组成。如何定义某种 setter/getter

jquery - 如何通过 jQuery 构造 JSON 并构建 HTML

java - 将node.js文件打包到fatJar中

javascript - 将一组 Javascript 类传递给 MVC Controller ?

javascript - Jquery 错误地按 id 对 <li> 进行排序

javascript - jquery/javascript 缓存问题

javascript - 从动态附加的 json 文件中删除具有匹配字符串的行

Javascript 从嵌套函数返回值

node.js - 如何在 Graphql.js 中使用 GraphQL 的订阅

Javascript:从单个 HTML 页面播放多个音频文件