JSON.parse无缘无故失败
JSON.parse failing without reason
我正在使用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
包含一个字节顺序标记。
> s[0].charCodeAt(0).toString(16)
'feff'
您必须先将其剥离,然后JSON.parse()
才能管理其余部分。
> JSON.parse(s[0].trim())
[ [ 'hands[0].session.buyin', '332' ] ]
在 Node v0.10.12 的 REPL 上,这工作正常:
> var b = '[["hands[0].session.buyin", "332"]]';
undefined
> JSON.parse(b)
[ [ 'hands[0].session.buyin', '332' ] ]
>
该字符串是二维数组的有效 JSON 表示形式。
您的环境是什么?
相关文章:
- 当json解析空响应时,Whatwg-Fetch失败,我该如何防止它
- JsFiddle在分叉后描述失败
- 为什么不'当单元测试出现解析错误时,我的因果报应测试会失败
- 当一些承诺失败时,如何继续使用$q.all()
- 失败:等待Protractor与页面同步时出错:“”;在窗口上找不到角度”;
- 在Jquery中单击传播失败
- 网页上失败的javascript会导致所有其他脚本失败
- 带有对象解析的响应javascript ajax失败
- 一台特定计算机的Ajax请求数据未定义/失败
- Nodejs服务器:加载资源失败:服务器的响应状态为404(未找到)
- jQuery.getJSON失败,语法错误
- ng disabled在放入多个表达式时失败
- Jasmine单元测试在监视服务方法时失败
- jQuery分页下一页和上一页按钮在点击零或超过最后一页后失败
- 在iframe的情况下,jQuery html()将失败
- 在我的情况下,使用带有变量失败的 jquery 选择器
- CSS中的转换似乎失败了,原因是什么
- 在数组中插入对象失败
- Google 脚本:JSON.parse 无缘无故失败
- JSON.parse无缘无故失败