如何在 sublime text 中查找粉红色突出显示的 json 错误

How to find pink highlighted json errors in sublime text

我正在处理一个大 json 文件。

我自己使用 Python 解析了此 json,并且(因此)在文件​​的不同位置存在一些 json 验证错误。我想找出这些错误以改进我的 Python 解析器。

Sublime text (2) 在 json 中以粉红色格式错误高亮显示很有帮助,但是我通过 70,000,000 行 json 来查找这些错误有点具有挑战性。

有什么方法可以跳到 json 中粉红色突出显示的错误吗?

(注意:json 文件足够大,无法尝试使用在线验证器等)

谢谢!

这可以使用插件以奇特的方式完成,但出于您的目的,最好的方法可能是只在 console 中输入命令。打开包含错误的 JSON 文件,然后使用 Ctrl` 打开控制台。粘贴以下代码并按 Enter:

view.show_at_center(view.find_by_selector("invalid.illegal")[0])

并且视图将滚动以显示文件中的第一个错误。修复该错误,在控制台输入行上单击返回,单击向上箭头返回您刚刚 运行 的命令,然后再次单击 Enter,它应该滚动到下一个错误,依此类推。当没有更多错误时,您将 IndexError: list index out of range 打印到控制台,并且视图将不再滚动。


虽然这在 Sublime Text 2 和 3 中都有效,但我强烈 敦促您升级到 ST3 if at all possible. ST2 has been shelved and deprecated, and there will be no more bug fixes released. Development is now focused solely on ST3 (as well as being in the planning stages for ST4!). "I don't know of any good reason to not use Sublime Text 3" - Will Bond,ST 核心开发人员。

新版本中有 的新功能和错误修复,即使您只是使用更新更频繁的 public beta. (BTW, don't let the word "beta" fool you - the program is rock solid, and has been for years.) If you want more cutting-edge features, and are a registered user (which you should be if you are using the program long-term or for commercial purposes), you can download the dev builds,但是运行 轻微 出现一两个错误的机会。

ST3 的主要优点之一是它现在支持新的、基于 YAML 的 sublime-syntax highlighting engine, which allows for much greater flexibility than the old .tmLanguage highlighting files (which are still supported). Related to that, the syntax files have all been open-sourced 并且开发正在非常迅速地进行,尽管距离上一个版本发布已经几个月了.

可能升级的最大原因是插件社区。内部 Python API 已更新为 Python 3(准确地说是 3.3.6),其副作用是使许多旧插件不兼容。除了极少数情况外,大多数插件现在都支持 ST3,并且许多插件放弃了对 ST2 的支持,因为维护两个代码库变得太困难了,并且尝试使用更有限的 API ST2 提供的开发.所以,除非你绝对依赖一个旧的 ST2-only 插件,不能移植,升级绝对是最好的选择。