Минимизированный JSON-код между двумя шаблонами с помощью регулярных выражений

Минимизированный JSON-код между двумя шаблонами с помощью регулярных выражений

Возьмем, к примеру, файл:

                        "test": [
                           {
                           }
                        ],
                        "test": [
                           {
                              "name":"bob",
                              "age":21
                           }
                        ]

Есть ли способ с помощью регулярного выражения минимизировать код до чего-то вроде этого:

                        "test": [{}],
                        "test": [{"name":"bob","age":21}]

решение1

Предполагая, что два ключа testдействительно уникальны ( testиначе второй ключ переопределил бы первый testпри его анализе с помощью анализатора JSON), и что документ является правильно сформированным документом JSON, используйте jq -cдля создания его компактной версии.

Здесь я изменил имена ключей так, чтобы они были уникальными, и инкапсулировал фрагмент JSON в анонимный объект:

$ cat file.json
{
  "test1": [
    {}
  ],
  "test2": [
    {
      "name": "bob",
      "age": 21
    }
  ]
}

$ jq -c . file.json
{"test1":[{}],"test2":[{"name":"bob","age":21}]}

В .командной строке находится jqфильтр, который пропускает документ, не изменяя его содержимое.

Связанный контент