在记事本中美化JSON++;没有插件

在记事本中美化JSON++;没有插件,json,regex,tabs,notepad++,newline,Json,Regex,Tabs,Notepad++,Newline,我试图在Notepad++中美化JSON对象。想到的第一个解决方案是使用专用插件。问题是我正在使用的电脑没有连接到互联网,我只能使用记事本++和Windows 10提供的所有功能 假设这是JSON对象 “丑陋”版本: {"_class":"value_to_be_ignored","first_key":{"second_key":{"user_id":"123456","company_id":"9876","question":{"subject":"some_subject","case_

我试图在Notepad++中美化JSON对象。想到的第一个解决方案是使用专用插件。问题是我正在使用的电脑没有连接到互联网,我只能使用记事本++和Windows 10提供的所有功能

假设这是JSON对象

“丑陋”版本:

{"_class":"value_to_be_ignored","first_key":{"second_key":{"user_id":"123456","company_id":"9876","question":{"subject":"some_subject","case_type":"urgent","from_date":{"year":2011,"month":11,"day":11},"to_date":{"year":2012,"month":12,"day":12}},"third_key":[{"role":"driver","weather":"great"},{"role":"father","weather":"rainy"}]}}}
我想得到的“漂亮”版本是:

{
  "_class": "value_to_be_ignored",
  "first_key": {
    "second_key": {
      "user_id": "123456",
      "company_id": "9876",
      "question": {
        "subject": "some_subject",
        "case_type": "urgent",
        "from_date": {
          "year": 2011,
          "month": 11,
          "day": 11
        },
        "to_date": {
          "year": 2012,
          "month": 12,
          "day": 12
        }
      },
      "third_key": [
        {
          "role": "driver",
          "weather": "great"
        },
        {
          "role": "father",
          "weather": "rainy"
        }
      ]
    }
  }
}
我知道在手动浏览文件时输入enter+Tab组合是可行的。目标文件相当大,因此我希望自动化该过程

我知道我可以用正则表达式。下面的示例创建了一个新的行-它很有帮助,但不能完全解决我的问题。问题是我不知道如何处理制表和右括号:


我想知道是否有可能为
找到一对正则表达式:
替换为:
,使我们从丑陋的版本变成美丽的版本。

不,这是
[]
的平衡文本
{}
,需要一个循环和一个堆栈来进行缩进。不打算单独使用NP++。如果你使用Perl,我会告诉你怎么做。也许你可以用另一台电脑下载这个插件,然后在没有互联网的情况下复制到电脑上。许多看起来不可能的文本操作都可以通过notepad++和正则表达式和宏来实现,但我认为这个任务不适合这里。应该告诉你你在追求什么,包括哪个DLL文件复制到哪里离线安装。