- 📋 JSON 格式化和美化显示 - 自动格式化 JSON 字符串,使其更易读
- 🔍 JSON 语法验证 - 实时检查 JSON 语法错误
- 📋 从剪贴板快速读取 JSON - 一键获取剪贴板中的 JSON 内容
- 🎨 语法高亮显示 - 支持 JSON 语法高亮,提高可读性
- 📁 支持折叠/展开 JSON 节点 - 方便查看大型 JSON 结构
- 📋 双击快速复制 - 双击 key 或 value 快速复制到剪贴板
- 📐 LaTeX 公式渲染 - 支持渲染 JSON 字符串中的 LaTeX 数学公式
- 📌 窗口置顶功能 - 保持窗口在最前面,方便操作
- 🚀 开机自启动 - 实现开机自动启动
- 📦 系统托盘支持 - 最小化到托盘,不占用任务栏空间
- 🔄 自动更新检测 - 自动检测新版本并提示更新
- 🌐 跨平台支持 - 支持 macOS (Intel/Apple Silicon) 和 Windows
-
输入 JSON
- 在文本框中输入或粘贴 JSON 字符串
- 点击"从剪贴板读取"按钮直接获取剪贴板内容
-
格式化 JSON
- 点击"格式化JSON"按钮
- 工具会自动验证 JSON 语法并美化显示
-
清空内容
- 点击"清空"按钮清除所有内容
- 双击复制: 双击 JSON 中的 key 或 value 可以快速复制到剪贴板
- 双击 key 复制完整的路径(如
["user"]["name"]) - 双击 value 复制值本身
- 支持多种复制格式:
- 默认格式:
["user"]["name"]或["users"][0]["name"] - 点号格式:
user.name或users[0].name - JSONPath:
$.user.name或$.users[0].name - 方括号格式:
['user']['name']或['users'][0]['name'] - Python .get:
.get('user').get('name')或.get('users')[0].get('name') - 自定义格式: 分别定义对象属性和数组索引的格式
- 输入框默认显示占位符,可直接修改
- 对象属性格式:使用
key占位符(默认{key}) - 数组索引格式:使用
index占位符(默认{index}) - 示例 1:对象属性
.{key},数组索引[{index}]→.users[0].items[1] - 示例 2:对象属性
.get('{key}'),数组索引[{index}]→.get('users')[0].get('items')[1] - 示例 3:对象属性
['{key}'],数组索引[{index}]→['users'][0]['items'][1]
- 默认格式:
- 双击 key 复制完整的路径(如
- LaTeX 公式渲染: 勾选"转义"复选框可以渲染 JSON 字符串中的 LaTeX 数学公式
- 支持行内公式
$...$ - 支持块级公式
$$...$$ - 例如:
"formula": "$E=mc^2$"会显示为数学公式
- 支持行内公式
- 转义: 勾选"转义"复选框可以对 JSON 字符串进行转义处理
- 置顶: 勾选"置顶"复选框将窗口保持在最前面
- 开机自启: 勾选"开机自启"复选框实现开机自动启动
- 检查更新: 点击"检查更新"按钮检测是否有新版本
- 最小化: 点击"最小化"按钮将窗口最小化到托盘
- 关闭: 点击"关闭"按钮退出应用
- 托盘菜单: 右键点击系统托盘图标可以访问更多选项
- Node.js >= 20
- pnpm >= 8
- Rust (用于 Tauri)
pnpm installpnpm tauri:devpnpm tauri:build# 更新补丁版本 (0.0.1 -> 0.0.2)
pnpm release:patch
# 更新次版本 (0.0.1 -> 0.1.0)
pnpm release:minor
# 更新主版本 (0.0.1 -> 1.0.0)
pnpm release:major# 1. 更新版本号
pnpm release:patch
# 2. 提交更改
git add .
git commit -m "Release v1.0.0"
# 3. 创建并推送标签
git tag v1.0.0
git push origin v1.0.0推送标签后会自动触发 GitHub Actions 构建和发布流程。
json_reader/
├── src/ # 前端源代码
│ ├── index.html # 主页面
│ ├── main.ts # 应用入口(窗口状态/更新/托盘/自启/剪贴板)
│ ├── utils/
│ │ └── jsonTool.ts # JSON 处理工具
│ └── lib/
│ └── layui/ # Layui UI 框架
├── src-tauri/ # Tauri 后端代码
│ ├── Cargo.toml # Rust 依赖配置
│ ├── tauri.conf.json # Tauri 配置
│ └── icons/ # 应用图标
├── scripts/ # 构建脚本
│ └── auto-version.js # 版本同步脚本
└── .github/
└── workflows/
└── release.yml # CI/CD 工作流
- 前端: HTML5, TypeScript, jQuery, Layui
- 后端: Rust, Tauri v2
- 构建工具: Vite, pnpm
- CI/CD: GitHub Actions
查看 CHANGELOG.md 获取完整的版本历史。
欢迎贡献代码!请遵循以下步骤:
- Fork 本仓库
- 创建特性分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 开启 Pull Request
A: 自动更新已默认启用。应用启动时会自动检查更新,你也可以手动点击"检查更新"按钮。
A: 在终端中运行以下命令:
sudo xattr -rd com.apple.quarantine /Applications/JSONFormatter.appA: 目前支持 macOS (Intel 和 Apple Silicon) 和 Windows (x64)。
本项目采用 MIT 许可证 - 详见 LICENSE 文件。
- GitHub: @scorpionfree98
- 问题反馈: Issues
如果这个项目对你有帮助,请给一个 ⭐️ Star!
Made with ❤️ by scorpionfree98
