如何在Groovy中将SQL结果集转换为JSON?

MFI*_*san 2 sql groovy json

我有这个简单的Groovy脚本将SQL结果集导出到JSON.虽然下面的一个有用,但它不是我想要的格式.请帮忙吗?

def resultset = Sql.newInstance(...).rows('select * from client')
println new JsonBuilder(resultset).toPrettyString()
Run Code Online (Sandbox Code Playgroud)

上面的代码打印

  [
      {
        "ID":1,
        "NAME: "ABC"
      },
      {
        "ID":2,
        "NAME: "XYZ"
      },
      {
        "ID":3,
        "NAME: "MSFT"
    }
]
Run Code Online (Sandbox Code Playgroud)

预期产出

{
    "clients": [
        {
            "ID": 1,
            "NAME": "ABC"
        },
        {
            "ID": 2,
            "NAME": "XYZ"
        },
        {
            "ID": 3,
            "NAME": "MSFT"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

Opa*_*pal 9

不会只是:

println new JsonBuilder(clients:resultset).toPrettyString()
Run Code Online (Sandbox Code Playgroud)

你知道这里发生了什么吗?你传递一个Mapto 的实例,JsonBuilder那就是全部.