Sublime Text中利用Pretty JSON格式化脚本

大墨姑娘_3250

大墨姑娘_3250

2026-07-21

617人浏览

原创

安装pretty json插件后没反应,首要检查package control是否装好及python环境是否可用;若命令面板调不出或install package无响应,则插件未正确安装,需重装package control并重启sublime。

sublime text中利用pretty json格式化脚本

安装 Pretty JSON 插件后没反应?检查 Package Control 和 Python 环境

Sublime Text 本身不带 JSON 格式化能力,Pretty JSON 是第三方插件,依赖 Package Control 安装。如果按快捷键没反应,大概率是插件根本没装成功,或者 Sublime 找不到 Python 解释器。

  • 确认已通过 Ctrl+Shift+P(Windows/Linux)或 Cmd+Shift+P(macOS)调出命令面板,输入 Install Package 并回车,再搜 Pretty JSON 安装 —— 不是手动下载 zip 放进 Packages/ 目录(容易漏依赖)
  • Sublime Text 4 默认自带 Python 3.8+ 运行时,但如果你用的是旧版(如 ST3),需确保系统 PATH 中有可用的 python 或 python3 命令;否则插件会静默失败,控制台(Ctrl+`)里会出现 No module named json 或 Python executable not found
  • 安装后重启 Sublime Text,再试一次 —— 插件不会热加载所有功能

JSON 格式化失败报错 Invalid JSON string?先检查编码和 BOM

这个错误不是语法问题,而是 Sublime Text 读取文件时解码失败。常见于 Windows 下用记事本保存的 JSON 文件,自带 UTF-8 with BOM 头,Pretty JSON 的底层解析器(json.loads())无法容忍 BOM。

Aria2 Json Rpc
Aria2 Json Rpc

通过 JSON‑RPC 2.0 与 aria2 下载管理器交互,使用自然语言命令管理下载、查询状态并控制任务。适用于 aria2、下载管理或种子操作。

下载
  • 打开文件,点击右下角编码显示(如 UTF-8),选 Convert to UTF-8(不是 “Save with Encoding”)—— 这会剥离 BOM 并重载内容
  • 如果文件里混有非 ASCII 字符(比如中文注释或字段值),且声明了 "encoding": "gbk" 类伪配置,删掉。JSON 标准只认 UTF-8
  • 粘贴进 Sublime 的 JSON 片段如果开头有不可见字符(比如从网页复制带零宽空格),用 Ctrl+Shift+P → View: Show Console,输入 view.substr(sublime.Region(0, 10)) 查看前 10 字符的原始码位

想自定义缩进空格数或排序 key?改用户配置,别碰默认设置

Pretty JSON 的格式化行为由 PrettyJson.sublime-settings 控制,但直接改默认文件(Packages/Pretty JSON/PrettyJson.sublime-settings)会被插件更新覆盖。必须改用户级配置。

  • 菜单栏 → Preferences → Package Settings → Pretty JSON → Settings,右侧用户配置里加:
{
    "indent": 2,
    "sort_keys": true,
    "ensure_ascii": false
}
  • "indent" 支持数字(空格数)或字符串(如 "\t");"sort_keys" 默认 false,设为 true 后会按字典序重排 object key,适合 diff 对比
  • "ensure_ascii": false 是关键:不转义中文等 Unicode 字符,否则 "名称": "张三" 会变成 "\u540d\u79f0": "\u5f20\u4e09"
  • 对大 JSON 文件卡死或崩溃?用命令行替代 + 分块处理

    Pretty JSON 在 Sublime 内运行,内存受限。超过 5MB 的 JSON(比如导出的 MongoDB 数据、日志快照),插件会卡住甚至触发 Sublime 的无响应弹窗。

    • 终端里用原生工具更快更稳:python -m json.tool input.json > output.json(Python 自带,支持 --indent 2 参数)
    • 若需排序 key 或保留注释(虽然 JSON 标准不支持),改用 jq:jq '.' input.json > output.json,它还能过滤、提取字段
    • 真要在 Sublime 里处理大文件,先用 Ctrl+Shift+P → Selection: Expand Selection to Brackets 选中某一段 object/array,再执行格式化,避免全文件解析
    实际用起来,最常被忽略的是 BOM 和用户配置路径 —— 很多人改了默认 settings 文件,重启十次都没效。另外,别指望它处理带单引号、尾逗号或注释的“类 JSON”,那得先过一遍 json5 或 yaml 转换。

    相关文章

    PHP速学视频免费教程(入门到精通)
    PHP速学视频免费教程(入门到精通)

    PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

    下载

    相关标签:

    sublime json sublime text js

    本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

    相关专题

    更多
    js正则表达式
    js正则表达式

    php中文网为大家提供各种js正则表达式语法大全以及各种js正则表达式使用的方法,还有更多js正则表达式的相关文章、相关下载、相关课程,供大家免费下载体验。

    2023.06.20

    3916

    8

    js获取当前时间
    js获取当前时间

    JS全称JavaScript,是一种具有函数优先的轻量级,解释型或即时编译型的编程语言;它是一种属于网络的高级脚本语言,主要用于Web,常用来为网页添加各式各样的动态功能。js怎么获取当前时间呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

    2023.07.28

    1255

    5

    js 字符串转数组
    js 字符串转数组

    js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

    2023.08.03

    1598

    5

    js是什么意思
    js是什么意思

    JS是JavaScript的缩写,它是一种广泛应用于网页开发的脚本语言。JavaScript是一种解释性的、基于对象和事件驱动的编程语言,通常用于为网页增加交互性和动态性。它可以在网页上实现复杂的功能和效果,如表单验证、页面元素操作、动画效果、数据交互等。

    2023.08.17

    9403

    11

    js删除节点的方法
    js删除节点的方法

    js删除节点的方法有:1、removeChild()方法,用于从父节点中移除指定的子节点,它需要两个参数,第一个参数是要删除的子节点,第二个参数是父节点;2、parentNode.removeChild()方法,可以直接通过父节点调用来删除子节点;3、remove()方法,可以直接删除节点,而无需指定父节点;4、innerHTML属性,用于删除节点的内容。

    2023.09.01

    880

    4

    js截取字符串的方法
    js截取字符串的方法

    js截取字符串的方法有substring()方法、substr()方法、slice()方法、split()方法和slice()方法。本专题为大家提供字符串相关的文章、下载、课程内容,供大家免费下载体验。

    2023.09.04

    2344

    5

    Js中concat和push的区别
    Js中concat和push的区别

    Js中concat和push的区别:1、concat用于将两个或多个数组合并成一个新数组,并返回这个新数组,而push用于向数组的末尾添加一个或多个元素,并返回修改后的数组的新长度;2、concat不会修改原始数组,是创建新的数组,而push会修改原数组,将新元素添加到原数组的末尾等等。本专题为大家提供concat和push相关的文章、下载、课程内容,供大家免费下载体验。

    2023.09.14

    1469

    5

    js截取字符串的方法介绍
    js截取字符串的方法介绍

    JavaScript字符串截取方法,包括substring、slice、substr、charAt和split方法。这些方法可以根据具体需求,灵活地截取字符串的不同部分。在实际开发中,根据具体情况选择合适的方法进行字符串截取,能够提高代码的效率和可读性 。

    2023.09.21

    3969

    3

    js生成随机数方法
    js生成随机数方法

    JavaScript生成随机数的方法,包括使用Math.random()方法生成指定范围内的随机整数、生成随机字符串和生成随机颜色。根据具体需求,可以选择适合的方法来生成随机数,以实现各种功能 。

    2023.09.25

    2235

    5

    热门下载

    更多
    网站特效
    /
    网站源码
    /
    网站素材
    /
    前端模板

    精品课程

    更多
    相关推荐
    /
    热门推荐
    /
    最新课程