跳转到主要内容
CuteJSON
↑↓ 导航 Enter 选择 Esc 关闭

JSON 速查表:语法、数据类型和操作一览

发布 1 分钟阅读 作者 Akash Kinkar Pandey

本页所有内容有意放在一屏之内:JSON 语法足够简洁,完整参考不需要很长。 在线阅读,或 将同一参考下载为图片 离线保存或打印。

JSON 速查表涵盖结构、语法规则、数据类型、常用操作、示例和最佳实践

1. 结构

JSON 以对象 ({ }) 内的键值对或数组 ([ ]) 内的有序列表编写。键始终是 字符串。值可以是字符串、数字、布尔值、null、数组或另一个对象,根据数据 实际需要嵌套任意深度。

{
  "name": "Ada",
  "age": 36,
  "active": true,
  "skills": ["json", "css"],
  "address": { "city": "London" },
  "nickname": null
}

2. 语法规则

  • 键和字符串值使用双引号。 单引号不是有效的 JSON。
  • 冒号分隔每个键和它的值。
  • 逗号分隔键值对和数组项,最后一项后面没有逗号。
  • 数组是有序列表,值用逗号分隔。
  • 没有注释。 标准 JSON 完全没有注释语法,既没有 // 也没有 #。

3. 数据类型

类型 示例 说明
String “hello” 仅限双引号
Number 42, -3.14 无十六进制,无 NaN,无前导零
Boolean true, false 小写,不加引号
Null null 小写,不加引号
Array [“a”, 1, true] 有序,允许混合类型
Object {“key”: “value”} 键始终是字符串

JSON 数据类型详解 详细介绍每种类型, 包括那些会让解析器栽跟头的边缘情况。

4. 常用操作 (JavaScript)

JSON.parse(text)              // 字符串 -> 值,无效 JSON 时抛出异常
JSON.stringify(value)         // 值 -> 字符串
JSON.stringify(value, null, 2) // 美化打印,2 空格缩进
value.key                     // 解析后读取键
value.nested.key              // 读取嵌套键

5. 示例

对象数组

[
  { "id": 1, "name": "Ada" },
  { "id": 2, "name": "Linus" }
]

嵌套对象

{ "user": { "id": 1, "verified": true } }

混合类型

{ "tags": ["a", "b"], "score": null, "live": false }

6. 最佳实践

  • 使用有意义、一致的键名。
  • 保持结构尽可能扁平。
  • 解析自己未生成的输入前先验证 JSON。
  • 列表使用数组,而不是带数字外观键的对象。
  • 如果精确精度重要,将大整数作为字符串引起来;64 位 ID 在普通 JSON.parse 中可能四舍五入(参见 JSON 数据类型)。
  • 显式处理解析错误。不要仅因为输入通常是有效 JSON 就假设它有效。

从这里往哪走

返回所有文章