ß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.