JSON中不能加注释

  今天犯了一个白痴级的错误,那就是向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日

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏用户2442861的专栏

cmake教程二,变量以及flow control

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/haluoluo211/article/d...

572
来自专栏Python爬虫与数据挖掘

在Ubuntu14.04中如何安装mysql

接触过MySQL的小伙伴们都知道,在Windows下安装MySQL是一件让人十分头大的事情,但是在Ubuntu等其他Linux系统中安装MySQL就简单很多了,...

502
来自专栏杨熹的专栏

图解Mac下如何安装管理MySQL

---- 下载安装MySQL 1.访问MySQL官网:http://dev.mysql.com/downloads/ 2.下载 MySQL Community ...

3214
来自专栏ChaMd5安全团队

LCTF “他们有什么秘密呢? ”详细解析

LCTF2017真有趣,让我长了不少见识,由于时间匆忙,我也就只做了一个web题,还是折腾了不久,我觉得这题考点还是蛮集中的,故此分享下。 进去后显示: ent...

25510
来自专栏漏斗社区

工具 | whatweb 初级篇

0x00简介: Whatweb是一个基于Ruby语言的开源网站指纹识别软件,正如它的名字一样,whatweb能够识别各种关于网站的详细信息包括:CMS类型、博...

3708
来自专栏dalaoyang

linux下安装mysql

这是自己踩过的坑,记录一下,翻了一天博客,csdn等等,最后在网上看到了一个十分简单的安装过程。 安装 # yum -y install http://dev....

3067
来自专栏数据库

浅谈MySQL数据库的备份与还原

之前用过很长时间的Oracle 11gR2,数据还原备份这种操作经常遇到,操作起来略显蛋疼,几乎都要有阴影了。今天体验了一下MySQL的备份与还原,感觉简单多了...

2149
来自专栏ytkah

composer错误提示Cloning failed using an ssh key for authentication的解决方法

  早上ytkah在测试laravel用composer安装一些插件时出现了一些错误,提示如下,是github的ssh密匙认证错误,提示要重新生成token,然...

562
来自专栏云计算教程系列

如何在Ubuntu 16.04上添加和删除用户

您应该知道最基本任务之一是如何在新的Linux服务器上添加和删除用户。当您创建新系统时,您通常(例如在DigitalOcean Droplets上)默认情况下仅...

1484
来自专栏深度学习之tensorflow实战篇

WINDOW 安装mysql5.7数据库,并设置密码及相关报错

环境:系统:WINDOW10 数据库:mysql5.7 windows 10安装mysql5.7 第一步 到mysql官网下载mysql-5.7.17-...

2666

扫码关注云+社区