news 2026/5/16 1:24:06

告别难看的 JSON:这款 29 KB 的开源扩展,可能是程序员唯一需要的浏览器查看器

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
告别难看的 JSON:这款 29 KB 的开源扩展,可能是程序员唯一需要的浏览器查看器

一、每天都在重复的小困扰

不知道你有没有过这样的时刻——

线上排查问题,从服务器拉下来一份 JSON 日志,在浏览器里打开,扑面而来是密密麻麻的一行乱码:

{"timestamp":"2024-...","level":"error","message":"...","stack":[...],"context":{...}}

整个屏幕一行,光是找level字段就得 Ctrl+F。

或者你点开同事甩过来的某个.md文档链接,浏览器毫不犹豫地把它显示成纯文本——满屏# 标题**加粗**- 列表的源码,完全谈不上阅读体验,你还得去应用商店再装一个 Markdown Viewer 才行。

每次遇到这些场景,你大概都会问自己一句:为什么浏览器不能原生支持这些格式的友好查看?

今天介绍的这款开源扩展,就是来终结这个问题的。


二、Plain View:6 种格式,一个扩展,全部解决

Plain View是一款基于 Chromium 内核的浏览器扩展(Chrome、Edge、Brave、Opera 等通用),目标只有一个——

让你在浏览器里以友好的方式直接打开常见的文本类文件,不再需要任何在线工具、不再需要切换软件、不再需要复制粘贴。

它支持的文件格式包括:

格式后缀能力
JSON / JSONP.json.jsonp美化 + 可折叠树视图
Markdown.md.markdown完整 HTML 渲染
SQL.sql自动格式化 + 语法高亮 + 搜索
YAML.yaml.yml多色语法高亮
CSV / TSV.csv.tsv可排序可编辑的表格视图
LOG / TXT.log.txt按日志级别自动着色

无论是 URL 直接打开、还是把本地文件拖进浏览器,扩展都会自动识别格式并接管渲染。装上之后零配置,所有格式默认全开。


三、逐个格式拆开看,每个都做得很扎实

JSON:不仅是美化,还是一棵树

把 JSON 美化成多行缩进只是基本功。Plain View 的 JSON 视图是一棵可折叠的树

  • 默认全部展开(很多扩展默认折叠的设计反而要逐层点开,效率低)
  • 每个对象/数组节点旁边自动显示子项数量(比如12 keys/48 items)
  • 字符串里的 URL可以直接点击跳转
  • 数字、字符串、布尔值、null 用不同颜色区分
  • 顶栏可一键切换「原始内容」和「树视图」

要找深层数据?展开折叠几下就到。要复制原始?一键切换。还自动支持 JSONP——myCallback({...})这种带函数包装的格式也能识别并美化。

Markdown:全功能 + 安全防护

不仅渲染常规的标题、列表、加粗、链接、图片,还完整支持表格、任务列表(- [x])、围栏代码块、自动链接

更重要的是——内置 XSS 防护。Markdown 文件里可能埋着javascript:/data:协议链接、可能塞着<script>标签、可能在 URL 里玩属性注入,Plain View 会自动拦截这些危险协议,转义所有原始 HTML,确保打开任何来源的 Markdown 文件都安全。市面上不少 Markdown 查看器扩展对此完全不设防,随手装一个就可能给自己开后门。

SQL:格式化得有水准

SQL 美化是个细致活,业内主流格式化工具的输出风格都不太一样。Plain View 借鉴了主流规范,做了几件该做的事:

  • SELECT/INSERT/UPDATE/CREATE TABLE等关键字独占一行
  • WHERE条件下,AND/OR缩进 2 空格继续
  • JOIN类型自动合并——LEFT JOIN orders o,而不是LEFT一行JOIN一行
  • IN (1, 2, 3)/VALUES (1, 2, 3)这种短列表保持单行,不会把每个常量都换行造成又高又丑的输出
  • CREATE TABLE的列定义自动换行,每列一行,长表也一目了然
  • 关键字 / 函数 / 字符串 / 数字 / 操作符 / 注释六色区分
  • 内置关键字搜索,大文件也能瞬间定位

YAML:多色语义识别

YAML 的视觉规则很重要—— 注释、锚点(&anchor/*alias)、布尔值、字符串、文档分隔符---、tag!type,都用不同颜色区分。Plain View 的高亮覆盖了所有常见 YAML 语法,K8s YAML / Docker Compose / CI 配置文件,看起来都舒服。

CSV / TSV:这部分是真正的杀手锏

打开.csv可能是日常使用频率最高的场景之一。Plain View 在这里花了最多功夫,有几个其它扩展几乎都不具备的特性

1. 自动拦截 Chrome 的下载行为

Chrome 默认会把.csv/.tsv当附件强制下载,根本不让你预览。Plain View 监听浏览器下载事件,识别到本地 CSV 就自动取消下载,改用扩展内置的预览页面打开。拖文件进去 → 直接看表格,不再「先下载、再打开 Excel」

2. 表头永久固定,横向滚动条永远在视口底部

数据多了向下滚,表头跟着滚走找不到列名—— 这是几乎所有简陋 CSV 扩展的通病。Plain View 的表头滚动时一直固定在顶部。同时表格的横向滚动条始终贴在视口底部,不需要拉到数据最底下才能左右拖动。

3. 双击单元格直接编辑

数据里发现个错字想改?在浏览器里就能改—— 双击单元格,变成输入框,回车或者点击其它地方就保存。改过但未保存的单元格,右上角会自动出现一个小星号(✱)提醒

4. 编辑后的「复制」「下载」拿到的就是最新数据

改完之后点工具栏的「复制」或「下载」按钮,得到的就是你编辑后的最新 CSV,而不是原始文件。这意味着 Plain View 在不修改源文件的前提下,提供了完整的「在浏览器里看 + 改 + 导出」工作流,日常处理小数据集真的可以告别 Excel。

5. 表头一键排序

点列表头按该列升序;再点一次,降序。中文、英文、数字混排都能正确处理。

LOG / TXT:日志一眼分级

日志文件最大的痛点是「重要信息淹没在普通行里」。Plain View 扫描每一行,识别ERROR/FATAL/WARN/INFO/DEBUG/TRACE/VERBOSE等级别关键字,自动用不同颜色区分整行一眼就能定位到错误和警告,告别一大片黑白文字里捞针的痛苦。


四、和同类产品横向对比

市面上不是没有类似工具,但它们都有自己的明显短板:要么只支持单一格式,要么体积臃肿,要么功能粗糙,要么数据外泄。做个直观对比:

能力JSON 类扩展Markdown 类扩展在线格式化网站Plain View
支持格式数11单格式各一站6 种全打通
本地文件直接预览部分部分❌ 需复制粘贴✓ 拖入即可
CSV 表格化查看部分支持
CSV 单元格在线编辑
CSV 自动下载拦截无关
表头滚动固定无关无关部分
暗黑模式部分部分部分
数据隐私本地本地⚠ 数据上传到服务器✓ 全本地处理
安装包体积数百 KB1-2 MBN/A~28 KB
完全开源部分部分多数闭源
免费个别收费

结论很清楚——在「多格式 + 体积 + 功能深度 + 隐私」这四个维度上同时拿下全勤,Plain View 在当下市场上几乎找不到对手。


五、一个让人意想不到的细节:整个扩展只有 28 KB

这是个什么概念?

  • 一张普通手机照片大约 2-5 MB,Plain View 是它的百分之一不到
  • 市面上同类「多格式查看器」扩展,普遍在1-10 MB之间
  • 一些只支持单一格式的扩展,也常常打到 500 KB 以上

我们是怎么做到的?

所有渲染器都是从零手写的 TypeScript—— JSON 树、Markdown 渲染器、SQL 格式化器、YAML 高亮、CSV 解析器,全部不依赖任何第三方库。不打包 markdown-it、不打包 sql-formatter、不打包 papaparse、不打包 js-yaml。

编译流程也极致简化—— 没有 webpack、没有 vite、没有 esbuild,只有一个tsc加一段几十行的后处理脚本。

这种「极致克制」带来的不只是体积优势:

  • 加载更快,扩展启动几乎无延迟
  • 代码透明,所有逻辑都在仓库里你能直接看到的几个 TypeScript 文件里,任何人都能在半小时内读完整个项目
  • 没有供应链风险,不会因为某个上游 npm 包被植入恶意代码而拖你下水
  • 安全审计成本极低,审一遍整个项目代码,也就几十分钟的事

六、数据安全这件事,我们的立场很硬

很多在线工具(各种 jsonformatter.org / SQL formatter / CSV viewer 网站)的工作方式是:你把数据粘贴到他们的网页,他们的服务器处理后返回结果

听起来没问题?但你想过没有:

  • 公司内部 JSON 接口的返回里,可能有用户敏感数据
  • SQL 查询语句里,可能有表名、字段名、生产环境的库结构
  • CSV 里,可能就是用户列表、订单数据、内部报表

这些东西每次贴到在线工具上,都是一次潜在的数据外泄,而且你无从追溯。

Plain View 是一个浏览器扩展,所有处理都在你本地浏览器进程里完成

  • 零网络请求(除了从扩展内部加载渲染器代码)
  • 零后台调用
  • 零遥测
  • 零数据上报

你的数据永远不会离开你的电脑。


七、如何安装

Plain View完全开源、永久免费,GitHub 和 Gitee 双仓库同步:

  • GitHub: https://github.com/777vv/plain-view
  • Gitee(国内访问更快): https://gitee.com/vv777/plain-view

普通用户不需要任何 Node.js / 编程环境,几步就装好:

  1. 到上面任一仓库的Releases / 发行版页面,下载最新的plain-view.zip(约 28 KB)
  2. 解压到任意目录
  3. 浏览器打开chrome://extensions(Edge 用户用edge://extensions)
  4. 打开「开发者模式 / 开发人员模式」开关
  5. 点击「加载未打包的扩展程序 / 加载解压缩的扩展」按钮,选择刚才解压出来的目录

完成。装好之后浏览器工具栏会出现 Plain View 的图标,以后再打开任何支持的文件格式都会自动美化。


八、写在最后

Plain View 不是一个「大而全」的产品,它只做一件事——

让你在浏览器里看文件不再痛苦。

它不追求功能堆砌,而是把每个支持的格式做到主流体验之上;不追求「最低限度可用」,而是把每个细节磨到比某些臃肿的商业扩展更顺手。

如果你是一个每天打开 N 个 JSON 接口响应、读 N 份 Markdown 文档、查 N 张 CSV 数据、看 N 行日志的开发者——它会成为你浏览器里默默常驻、却几乎天天都用的小工具

开源、免费、28 KB、6 种格式、跨浏览器、隐私安全。

值得装一下。

仓库地址再贴一次,方便复制:

  • GitHub:https://github.com/777vv/plain-view
  • Gitee:https://gitee.com/vv777/plain-view

如果觉得有用,欢迎到仓库点个 Star —— 这是对作者最大的鼓励,也方便你以后再次找到。

如果你身边有同事天天被 JSON 乱码、CSV 强制下载、Markdown 源码这些事折磨,转发给他就是对他最大的善意。


加入 AI 编程学习交流群

我建了一个AI 编程学习交流群,聊 AI 编程工具、实战经验、踩坑总结、好用的开源项目 —— Plain View 就是借助 AI 编程开发出来的开源项目之一。

欢迎扫码加入,一起折腾:


(本文介绍的扩展为作者自研开源项目,仅做技术分享,不涉及任何商业利益。)

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/16 1:15:31

DMAF框架解析:轻量级数据管理与自动化ETL实践

1. 项目概述&#xff1a;DMAF是什么&#xff0c;以及它为何值得关注最近在整理一些关于数据分析和自动化流程的笔记时&#xff0c;我重新审视了一个之前关注过但觉得很有意思的项目——DMAF。这个项目在GitHub上由用户yhyatt维护&#xff0c;全称是“Data Management and Autom…

作者头像 李华
网站建设 2026/5/16 1:14:04

数字电路入门:从二进制、逻辑门到74系列芯片动手实验

1. 数字电路&#xff1a;从抽象逻辑到物理世界的桥梁如果你玩过Arduino或者树莓派&#xff0c;可能会觉得写几行代码让LED闪烁、让电机转动很酷。但你是否想过&#xff0c;这些代码最终是如何变成电信号&#xff0c;驱动那些物理设备动作的&#xff1f;或者&#xff0c;当你按下…

作者头像 李华
网站建设 2026/5/16 1:09:17

将Hermes Agent对接至Taotoken自定义供应商的步骤详解

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 将Hermes Agent对接至Taotoken自定义供应商的步骤详解 1. 准备工作&#xff1a;获取必要的凭证与信息 在开始配置之前&#xff0c…

作者头像 李华
网站建设 2026/5/16 1:06:42

从源码到应用:VTK编译与配置全流程实战

1. VTK简介与环境准备 VTK&#xff08;Visualization Toolkit&#xff09;是一款强大的开源三维可视化库&#xff0c;广泛应用于医学影像、科学计算、工程仿真等领域。我第一次接触VTK是在开发一个医学图像处理项目时&#xff0c;当时被它丰富的渲染功能和跨平台特性所吸引。对…

作者头像 李华
网站建设 2026/5/16 1:00:02

基于Dify平台快速构建AI对话机器人:从部署到生产级实践

1. 项目概述与核心价值最近在折腾AI应用落地的过程中&#xff0c;我反复被一个问题困扰&#xff1a;如何把一个强大的大语言模型&#xff08;LLM&#xff09;能力&#xff0c;快速、低成本地封装成一个能实际解决业务问题的对话机器人&#xff1f;自己从零开始搭框架、写API、处…

作者头像 李华
网站建设 2026/5/16 0:59:20

九大网盘直链下载终极解决方案:告别限速,一键获取真实下载链接

九大网盘直链下载终极解决方案&#xff1a;告别限速&#xff0c;一键获取真实下载链接 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 &#xff0c;支持 百度网盘 / 阿里云盘 / …

作者头像 李华