Украсьте JSON в блокноте ++ без плагинов - PullRequest
1 голос
/ 07 мая 2019

Я пытаюсь предварительно оптимизировать объект JSON в Notepad ++. Первое решение, которое приходит на ум - это использование специального плагина. Дело в том, что компьютер, на котором я работаю, не подключен к Интернету, и все, что я могу использовать, - это Notepad ++ и все функции, которые предлагает 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 при ручном просмотре файла. Целевой файл довольно большой, поэтому я хочу автоматизировать процесс.

Я знаю, что могу использовать регулярные выражения. Следующий пример создает новую строку - это полезно, но не решает мою проблему полностью. Проблема в том, что я не знаю, как обрабатывать табуляцию и закрывающие скобки:

enter image description here

Интересно, возможно ли придумать пару RegExes для Find what: и Replace with:, которая выведет нас из уродливой версии в симпатичную версию.

...