今天犯了一個白痴級的錯誤,那就是向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日