今天犯了一个白痴级的错误,那就是向JSON数据文件中,很多行后面添加注释(Comment,//)。
导致Node.js程序不能读取JSON文件,Server启动失败。
Debug时间蛮久,经同事提醒才发现。
错误既然发生了,不能稀里糊涂地过去。于是查资料,为什么不能在JSON数据中添加注释?最终找到源头。
来自Javascript大神Douglas Crockford的答案,从Google+中获得:
原来JSON中不能有注释的原因,是他注意到很多人利用注释来制定解析规则,这破坏了互操作性(Interoperability)。因此大神将其剔除。
链接:https://plus.google.com/+DouglasCrockfordEsq/posts/RK8qyGVaGSr
但其实有些不严格的JSON解析器还是支持注释的,例如我将加过注释的JSON文件用Javascript解析器JSHint来扫描(Vim版插件),以及用在线JSON解析来解析,也都没有问题。这也是为什么我Debug很久才在同事的提醒下找到原因。
下次谨记。
Kevin Song,2015年3月18日
最新评论