如何在崇高文本中找到粉红色突出显示的json错误

时间:2017-01-05 12:57:55

标签: json sublimetext2 syntax-highlighting

我正在使用大型json文件。

这个json已经由我自己使用Python解析,并且(因此)在文件​​的不同点有一些json验证错误。我想识别这些错误,以便改进我的Python解析器。

Sublime text(2)有助于突出显示json中的粉红色格式错误,但是通过70,000,000行json来查找这些错误有点挑战。

有没有办法跳过粉红色高亮显示的json错误?

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

谢谢!

1 个答案:

答案 0 :(得分:2)

这可以使用插件以一种奇特的方式完成,但出于您的目的,最好的方法是在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。 ST2已被搁置并弃用,并且不会再发布错误修复程序。开发现在只关注ST3(以及ST4的规划阶段!)。 "I don't know of any good reason to not use Sublime Text 3" - ST核心开发人员Will Bond。

即使您只是使用public beta,新版本中还有 ton 新功能和错误修复。 (顺便说一句,不要让“beta”这个词欺骗你 - 这个程序坚如磐石,已经存在多年了。)如果你想要更多的尖端功能,并且是registered user(你应该是如果您长期使用该程序或用于商业目的),您可以下载更频繁更新的dev builds,但运行轻微机会有一两个未检测到的错误。

ST3的一个主要优点是它现在支持基于YAML的新sublime-syntax突出显示引擎,它比旧的.tmLanguage突出显示文件(仍然支持它)具有更大的灵活性)。与此相关的是,语法文件都是open-sourced,并且开发进展非常迅速,即使它已经发布了上一次构建后的几个月。

升级的最大原因可能是插件社区。内部Python API已更新为Python 3(准确地说是3.3.6),其副作用是使许多旧插件不兼容。除了极少数情况外,大多数插件现在支持ST3,并且许多插件正在减少ST2支持,因为它很难维护两个代码库,并且尝试使用更有限的API ST2提供开发。因此,除非您完全依赖于无法移植的旧ST2插件,否则升级绝对是最佳选择。