K
ken
首页文章🕐 时间转换📋 JSON 工具🖼️ Base64 图片🔑 密码生成 Cron 表达式🔤 命名转换📱 二维码生成#️⃣ 哈希计算🔡 编码转换🔍 正则表达式⚙️ 配置文件格式转化🔐 加解密
前端开发HOT

什么是 JSON?如何格式化 JSON

2026-04-23·4 分钟阅读

什么是 JSON?

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。它基于 JavaScript 语法,但独立于语言——几乎所有编程语言都支持 JSON 的解析和生成。

JSON 的核心优势在于可读性强、结构简单,目前已经成为 API 接口通信、配置文件存储的事实标准。

JSON 的基本结构

JSON 只有两种结构:

**键值对集合(对象)**:用花括号 `{}` 包裹,键是字符串,值可以是任意类型。

json双击代码复制
{"name": "Ken", "age": 30, "active": true}

**有序值列表(数组)**:用方括号 `[]` 包裹,值可以是任意类型。

json双击代码复制
["apple", "banana", "cherry"]

JSON 支持的数据类型

JSON 一共支持 6 种数据类型:

  • **字符串**:双引号包裹,如 `"hello"`
  • **数字**:整数或浮点数,如 `42`、`3.14`
  • **布尔值**:`true` 或 `false`
  • **null**:表示空值
  • **对象**:键值对集合
  • **数组**:有序值列表
  • JSON 的语法限制比较严格:

  • 键必须用双引号(不支持单引号或无引号)
  • 字符串必须用双引号
  • 不支持注释
  • 最后一个元素后面不能有逗号
  • 常见错误

    写 JSON 时最容易犯的几个错误:

    1. 末尾逗号

    json双击代码复制
    {"a": 1, "b": 2,}  // 错误
    {"a": 1, "b": 2}   // 正确

    2. 键没有用双引号

    json双击代码复制
    {name: "Ken"}  // 错误
    {"name": "Ken"}  // 正确

    3. 使用单引号

    json双击代码复制
    {'name': 'Ken'}  // 错误
    {"name": "Ken"}  // 正确

    4. 注释

    JSON 不支持注释。如果你需要注释,可以考虑使用 YAML 或 JSONC(带注释的 JSON 变体)。

    如何格式化 JSON

    格式化 JSON 的核心目标就是让结构清晰可读。主要做两件事:

    1. **缩进**:每层嵌套缩进 2 个空格(或 4 个)

    2. **换行**:每个键值对单独一行

    格式化前:

    json双击代码复制
    {"name":"Ken","scores":[98,87,92],"address":{"city":"Beijing","zip":"100000"}}

    格式化后:

    json双击代码复制
    {
      "name": "Ken",
      "scores": [
        98,
        87,
        92
      ],
      "address": {
        "city": "Beijing",
        "zip": "100000"
      }
    }

    绝大多数编程语言的标准库都提供了 JSON 格式化功能:

    **JavaScript:**

    javascript双击代码复制
    const formatted = JSON.stringify(obj, null, 2)

    **Python:**

    python双击代码复制
    import json
    formatted = json.dumps(obj, indent=2)

    **Go:**

    go双击代码复制
    import "encoding/json"
    data, _ := json.MarshalIndent(obj, "", "  ")

    JSON 的用途

    JSON 最常见的几个使用场景:

    API 数据交换

    RESTful API 几乎全部使用 JSON 作为数据格式。前端向后端发请求、后端返回数据,基本都是 JSON。

    配置文件

    很多现代工具和框架使用 JSON 做配置,如 VS Code 的 `settings.json`、`package.json`、TypeScript 的 `tsconfig.json`。

    数据存储

    一些 NoSQL 数据库(如 MongoDB)直接使用 JSON-like 格式存储数据。

    总结

    JSON 简单、通用、跨语言,是开发者必须掌握的数据格式。理解它的语法规则和使用场景,能让你在日常开发中更高效地处理数据。配合格式化工具使用,可以显著提升调试体验。