ßeta perpetua

El blog personal de Juan Manuel Barroso

Useful Tips: Groovy JSON Pretty Print

6 Comments »

La representación de objetos usando JSON es muy sencilla pero si deseamos enviarla a un log, o imprimirla para depurar, más nos vale que esté correctamente  formateada.

Groovy provee una clase que nos permite hacerlo de manera indolora. La clase en cuestión es groovy.json.JsonOutput y el método es prettyPrint.

def jsonWithoutFormat = """{"firstName":"John","lastName":"Smith",
                    "age":25,"address":{"streetAddress":"212ndStreet",
                    "city":"NewYork","state":"NY","postalCode":"10021"},
                     "phoneNumber":[{"type":"home","number":"212555-1234"},
                     {"type":"fax","number":"646555-4567"}]}"""
 
def jsonFormatted = groovy.json.JsonOutput.prettyPrint(jsonWithoutFormat)

El resultado de prettyPrint:

{
    "firstName": "John",
    "lastName": "Smith",
    "age": 25,
    "address": {
        "streetAddress": "212ndStreet",
        "city": "NewYork",
        "state": "NY",
        "postalCode": "10021"
    },
    "phoneNumber": [
        {
            "type": "home",
            "number": "212555-1234"
        },
        {
            "type": "fax",
            "number": "646555-4567"
        }
    ]
}

Al final hemos obtenido una cadena que representa un JSON correctamente formateado.

Useful Tips: VIM – Guardar cambios fichero sólo lectura

No Comments »

Hay fallos en los que soy muy recurrente, uno de ellos es editar ficheros del sistema sin haber hecho el previo sudo.

Si usamos VIM podemos hacer el sudo sin tener que salir de la edición, y por tanto sin perder nuestros cambios, para ello tecleamos en modo comando lo siguiente:

:w !sudo tee %

Gracias a @fran_reyes por el tip!

Más información sobre el comando tee aquí.