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

JSON 工具

JSON 格式化、压缩、树形查看、结构体生成与示例生成

输入 JSON
📋

在左侧输入 JSON 开始使用

📖 JSON 工具使用说明

工具简介

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,已成为 Web 开发中最主流的数据格式。本工具提供 JSON 格式化、校验、压缩和代码结构体生成等一站式功能。

功能说明

  • JSON 格式化:将压缩的 JSON 美化成缩进清晰的树形结构
  • JSON 校验:检测 JSON 语法错误并提示具体位置
  • JSON 压缩:去除空格和换行,生成紧凑格式
  • 字段提取:列出 JSON 中所有的键路径和值的类型
  • 生成代码结构体:一键将 JSON 转换为 Go、TypeScript、Rust、Python、Java 的类型定义

使用方法

  1. 将 JSON 粘贴到左侧编辑区
  2. 自动格式化并显示树形预览
  3. 在右侧查看字段结构、生成代码
  4. 选择目标语言生成对应的结构体定义
  5. 点击复制按钮获取结果

示例

输入压缩 JSON: {"name":"Alice","age":30} 格式化后: { "name": "Alice", "age": 30 } 生成 TypeScript: interface Root { name: string; age: number; }

应用场景

  • 调试 API 接口时格式化返回的 JSON 数据
  • 定义接口数据结构时从示例 JSON 生成类型定义
  • 前后端联调时校验 JSON 格式是否正确
  • 编写配置文件时检查 JSON 语法

常见问题(FAQ)

JSON 和 JavaScript 对象字面量有什么区别?
JSON 是一种跨语言的数据交换格式,而 JavaScript 对象字面量是 JS 语言特有的数据类型。JSON 语法更严格:键名必须用双引号,字符串必须用双引号,undefined、函数、Symbol 等 JS 特有类型不能使用,且末尾不能有逗号。JSON 可以被任意语言解析,对象字面量则只能在 JS 中使用。
JSON 支持注释吗?
标准 JSON 不支持注释。这是 JSON 创始人 Douglas Crockford 有意为之——去掉可选功能让解析器更简单。VSCode 等编辑器支持 JSONC(带注释的 JSON),但这不是标准。如果需要注释,建议使用 YAML 格式。
如何判断一个字符串是否为合法 JSON?
最可靠的方法是使用 JSON.parse() 尝试解析。如果抛出异常则说明不是合法 JSON。常见的非法情况包括:键名未用双引号、使用了单引号、末尾有多余逗号、存在注释等。本站的 JSON 工具会实时校验输入,并自动标记错误位置。
JSON 中的大数字会丢失精度吗?
JSON 规范不限制数字范围,但 JavaScript 的 Number 类型是 64 位双精度浮点数,安全整数范围是 -2^53 到 2^53(约 9 千万亿)。超出此范围的整数会丢失精度。解决方案是用字符串表示大整数,例如 JSON 中写成 "id": "9007199254740993"。
JSON 和 XML 有什么区别?
JSON 和 XML 都是数据交换格式。JSON 更简洁:没有结束标签,解析更快,数据体积更小。XML 的优势在于支持属性、命名空间和 Schema 校验。目前 REST API 几乎全部使用 JSON,SOAP 等旧协议仍使用 XML。

使用示例

用户信息

一个包含字符串、数字、布尔值、数组和嵌套对象的用户信息 JSON。

{
  "name": "张三",
  "age": 28,
  "email": "zhangsan@example.com",
  "active": true,
  "tags": ["developer", "backend"],
  "address": {
    "city": "北京",
    "district": "海淀",
    "zip": "100000"
  }
}

API 响应

常见的分页 API 响应格式,包含数据列表和分页信息。

{
  "code": 200,
  "message": "success",
  "data": {
    "items": [
      { "id": 1, "title": "文章一", "views": 1234 },
      { "id": 2, "title": "文章二", "views": 892 },
      { "id": 3, "title": "文章三", "views": 567 }
    ],
    "pagination": {
      "page": 1,
      "pageSize": 10,
      "total": 56
    }
  }
}

配置文件

应用程序的 JSON 配置文件,展示多级嵌套的实际用法。

{
  "app": {
    "name": "MyApp",
    "version": "2.1.0",
    "debug": false
  },
  "database": {
    "host": "localhost",
    "port": 5432,
    "pool": {
      "min": 2,
      "max": 10
    }
  },
  "logging": {
    "level": "info",
    "format": "json"
  }
}

相关工具推荐