JSON 格式化工具

举报
yd_280683556 发表于 2026/08/23 10:09:46 2026/08/23
【摘要】 开发者作品展览馆作品简介:开发者实用工具,支持 JSON 格式化与压缩,语法高亮、实时校验与结构统计,本地完成。JSON 格式化工具项目简介JSON 格式化工具是一款面向开发者的纯前端 JSON 处理应用,解决日常开发与调试中最高频的需求——把杂乱的 JSON 变得整齐、可读、可定位问题。无论是查看接口返回、配置整理还是日志分析,打开页面粘贴 JSON 即可获得带语法高亮的格式化结果,也可一...
JSON 格式化工具 preview

JSON 格式化工具

项目简介

JSON 格式化工具是一款面向开发者的纯前端 JSON 处理应用,解决日常开发与调试中最高频的需求——把杂乱的 JSON 变得整齐、可读、可定位问题。无论是查看接口返回、配置整理还是日志分析,打开页面粘贴 JSON 即可获得带语法高亮的格式化结果,也可一键压缩为单行,方便存储与传输。

整个工具由单个 HTML 文件承载,转换全程在浏览器本地完成,JSON 数据不离开本机。

核心功能

  • 格式化与压缩:2 空格缩进的格式化输出,或单行压缩输出,一键切换。
  • 语法高亮:字符串、数字、布尔值、null 与键名分色显示,结构一目了然,便于快速扫描数据。
  • 实时校验:输入非法 JSON 时显示具体错误信息(如「Unexpected token」),辅助定位语法问题。
  • 结构统计:自动统计键值对、字符串、数字、布尔值、数组数量与最大嵌套深度,帮助理解复杂数据结构。
  • 示例一键填充:内置简单、嵌套、数组三种典型示例,快速体验功能。
  • 快捷操作:支持 Ctrl/⌘ + Enter 快速格式化。

技术架构

应用采用「输入面板 → 解析处理引擎 → 输出展示」的简洁三层结构,全部在浏览器端运行,无后端依赖。

系统架构图
  • 输入面板层:文本输入区接收原始 JSON;工具栏提供格式化、压缩与示例填充操作。
  • 解析处理引擎层:解析模块使用原生 JSON.parse 完成校验,非法输入捕获异常并提取错误消息;处理模块通过 JSON.stringify(parsed, null, 2) 生成格式化结果或单行压缩结果。
  • 输出展示层:语法高亮模块用正则对序列化文本分色标注各类型 token;统计模块通过递归遍历对象结构汇总各项指标。

核心逻辑说明

语法高亮算法:对序列化后的 JSON 文本执行正则匹配,识别三类 token——带引号的字符串(以 : 结尾的判为键名,否则为字符串值)、true/false/null 关键字、以及数字。用 HTML 包裹并赋予不同 CSS 类实现分色,同时先对文本做 HTML 转义避免注入。

结构统计:递归遍历解析后的对象树,depth 记录当前层数并取最大值;键名计数在遍历对象时累加;字符串/数字/布尔分别计数;数组在入口处计数并继续深入其元素,得到完整结构画像。

错误处理:JSON.parse 抛出的异常被 try/catch 捕获,错误消息直接展示在输出面板并保留原始输入,方便用户修改后重试,避免页面崩溃。

技术栈

技术 用途
HTML5 页面结构
CSS3 双栏面板、卡片布局、响应式设计
原生 JavaScript JSON.parse/stringify、正则高亮、递归统计
剪贴板(可选) 复制格式化结果

使用方式

直接用浏览器打开 index.html 即可使用;也可通过任意静态文件服务器托管后访问。

亮点与价值

  • 零依赖、开箱即用:单个 HTML 文件承载全部能力,适合开发者随手救急。
  • 高亮清晰:分色标注让复杂嵌套结构快速可读,提升排查效率。
  • 数据隐私友好:JSON 全程不出浏览器,无网络请求,可安全处理敏感数据。
  • 代码简洁可扩展:核心逻辑紧凑清晰,易于继续扩展(例如增加 JSON 路径查询、格式对比等功能)
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。