
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 test
en realidad son únicas ( test
de lo contrario, la segunda anularía la primera test
al analizarla con un analizador JSON) y que el documento es un documento JSON bien formado, utilícelo jq -c
para 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 jq
filtro que pasa el documento sin modificar el contenido.