什么是JSON缩进级别约定?

Gle*_*mad 45 javascript json

是否存在JSON缩进级别的"标准"约定?应该是2个空格,3个空格,4个空格,制表符分隔,还是别的?

我试图遇到官方的JSON网站,但没有在那里说明.

Aln*_*tak 44

JSON是一种序列化格式,而不是表示格式.

因此,没有"标准"缩进 - JSON通常尽可能紧凑地发送.

(也就是说,有一个选项可以JSON.stringify()请求"漂亮打印"的JSON - 请查看MDN文档中的space参数)

  • 没有通用的标准,仅使用符合您要求的内容即可-JSON解析器将忽略多余的空格。 (2认同)

Ber*_*rgi 16

没有标准.的JSON规范允许任意数量的空格中.

但是,如果您正在打印JSON以使其可读(例如在配置文件中),那么最好与项目的编码约定保持一致,并使用与JS对象文字相同的压缩级别 - 这是通常是4(Crockford)或2个空格(Node.js).

  • 不要将Crockford的_coding指南_与Crockfords _formatting guidelines_混为一谈.前者是好的,后者是,嗯,一个教条和他的个人偏好. (7认同)
  • 标签大小可以主观指定,用于缩进,因此使用比大多数空间约定更少的字节. (6认同)
  • @Alnitak:当然,但是4个空格是JS代码的标准配置; 我很少看到8或2个空格或缩进标签.Crockford只是我找到的第一个链接......去编辑. (5认同)