Open techiall opened 4 years ago
事情起源是因为 Windows Terminal 的配置文件(settings.json)中,包含了注释(以 //
开头)
就很好奇这是 JSON 的什么新特性。
Question: JSON 中如何加入注释?
Solution: 使用 JSON5。
Question: JSON5 文件后缀?
Answer: json
/ json5
。
在 IDEA 中启用 JSON5,https://www.jetbrains.com/help/idea/json.html。
Json 格式
上面这段介绍来自 维基百科,下面是我们常见的
JSON
形式,形如一个key
,对应value
。这是你熟悉的
JSON
格式。前几天的一个契机,在我使用
new ObjectMapper().writeValueAsString()
(JackJson)这个方法的时候,这个方法允许传入一个Object
对象。当时我传入了一个
Long
类型的对象,编译期间我意识到可能会报错,但是运行的时候居然没有报错!这有点颠覆了我对 JSON 的认识,我用了在线 JSON 转换,传入了单个数值,字符串,都没提示报错。
然后去找了一下 JSON 规范。https://www.json.org/json-en.html
解决我的疑惑的是下面的两张图,JSON 规定了他解析的过程,下面两张图是字符串和数值解析过程。
字符串由
"
开始,中间如果有"
,需要转义, 以"
结束。数值由
-
(可选)开始,包含数字
,小数点
和e/E
,以数字
结束。因此,我们可以确定,下面的这些,也是 JSON。