MFIhsan
MFIhsan

Reputation: 1057

How to convert SQL result set to JSON in Groovy?

I have this simple Groovy script to export SQL result set to JSON. Though the below one works, it is not in the format I would like to have. Any help here please?

def resultset = Sql.newInstance(...).rows('select * from client')
println new JsonBuilder(resultset).toPrettyString()

Above code prints

  [
      {
        "ID":1,
        "NAME: "ABC"
      },
      {
        "ID":2,
        "NAME: "XYZ"
      },
      {
        "ID":3,
        "NAME: "MSFT"
    }
]

Expected output

{
    "clients": [
        {
            "ID": 1,
            "NAME": "ABC"
        },
        {
            "ID": 2,
            "NAME": "XYZ"
        },
        {
            "ID": 3,
            "NAME": "MSFT"
        }
    ]
}

Upvotes: 3

Views: 5349

Answers (1)

Opal
Opal

Reputation: 84784

Wouldn't is just be:

println new JsonBuilder(clients:resultset).toPrettyString()

You know what's going on here? You pass an instance of a Map to JsonBuilder and that's all.

Upvotes: 11

Related Questions