JSON Formatter Chrome 插件已关闭并注入广告软件
Source: Hacker News
ARCHIVED
我已经不再以开源项目的形式开发 JSON Formatter。为了构建更全面的 API 浏览工具并提供高级功能,我将转向闭源、商业模式。
我知道有些用户(尤其是这里的 GitHub 社区)始终更倾向于开源工具,所以我会把这个仓库保留在线,供大家使用/分叉,并且已经发布了最终的开源版本 JSON Formatter Classic —— 如果你只想要一个简单、开源、仅本地运行的 JSON 格式化扩展且不再接受更新,可以切换到它。
Chrome 扩展,帮助你查看和浏览 JSON API 响应。
Features
- 快速,即使在非常长的 JSON 页面上也能保持流畅
- 暗色模式
- 语法高亮
- 可折叠的树形结构,带缩进指示线
- 可点击的 URL
- 对非 JSON 页面几乎没有性能影响(低于 1 ms)
- 适用于任何有效的 JSON 页面——URL 不受限制
- 提供在原始和已解析 JSON 之间切换的按钮
- 已解析的 JSON 会导出为全局变量
json,因此你可以在控制台中检查它(现已恢复工作!)
Installation
Option 1 – 从 Chrome 网上应用店安装 JSON Formatter Classic。
Option 2 – 从源码安装(见下文)。
Development
# Clone the repository and install dependencies
bun install
# Build once
bun run build
# Or watch‑driven build
bun run watch你可以在 Chrome 中启用开发者模式后,将 dist 文件夹作为本地未打包扩展进行安装。
FAQ
How does it detect JSON?
可靠地检测 JSON 较为复杂。大多数情况下,扩展依赖 Content-Type 响应头,但在必要时也会检查页面结构。检测的设计目标是快速且对浏览几乎没有感知影响。
Why are large numbers not displayed accurately?
这是 JavaScript(因此也是浏览器中解释的 JSON)的限制。
- 大于
Number.MAX_SAFE_INTEGER(2^53 - 1≈ 9 007 199 254 740 991)的数字会被截断为该值。 - 小于
Number.MIN_SAFE_INTEGER(-2^53 + 1)的数字会被提升。 - 极其精确的浮点数会被四舍五入到 16 位。
四舍五入是由 V8 中原生的 JSON.parse 完成的,而不是 JSON Formatter 本身。如果你的 API 需要表示超出 JavaScript 安全范围的数字,请 将它们作为字符串引用。
Why are object keys sometimes in the wrong order?
JSON Formatter 按 Object.keys(JSON.parse(json)) 返回的顺序显示键。历史上,JavaScript 规范允许对象键以任意顺序迭代,V8 为了性能会把数值字符串键(例如 "1" 或 "99999")移动到最前面。此行为现已标准化。
I just want to see exactly what the server sent
使用 Raw 按钮查看原始 JSON。Parsed 视图显示 JSON.parse 的结果。未来版本可能会加入自定义解析器,以在性能允许的情况下突出显示解析后被修改的值。