Código JSON minimizado entre dos patrones con expresiones regulares

Código JSON minimizado entre dos patrones con expresiones regulares

Tomemos un archivo con, por ejemplo:

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

¿Hay alguna manera de que una expresión regular minimice el código en algo como esto:

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

Respuesta1

Suponiendo que las dos claves testen realidad son únicas ( testde lo contrario, la segunda anularía la primera testal analizarla con un analizador JSON) y que el documento es un documento JSON bien formado, utilícelo jq -cpara producir una versión compacta del mismo.

Aquí, cambié los nombres de las claves para que sean únicas y encapsulé el fragmento JSON en un objeto anónimo:

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

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

El .en la línea de comando es un jqfiltro que pasa el documento sin modificar el contenido.

información relacionada