sql - 如何嵌套 groovy sql 结果集并为其生成 JSON?
问题描述
在我的数据库中,我有 Order 和相应的行。我想使用 groovy 为每个订单生成 JSON,并在下面写了一段代码,但它没有按预期工作。
def OrderResultSet=conn.rows('select ORDER_NUMBER,COMPANY_NAME from ORDERS where ORDER_NUMBER=74')
OrderResultSet.each{
def LineResultset=conn.rows('select * from LINE where HEADER_ID=:ORDER_NUMBER',[ORDER_NUMBER:it.ORDER_NUMBER])
}
如何链接结果集并生成 JSON,如下所示:
{
"ORDER_NUMBER":7493767,
"COMPANY_NAME":"WWT",
"LINE":[
{
"HEADER_ID":7493767,
"LINE_ID":12,
"INSTALLSITE_ID":22,
"TEXT":"world"
},
{
"HEADER_ID":7493767,
"LINE_ID":11,
"INSTALLSITE_ID":21,
"TEXT":"hello"
}
]
}
解决方案
import groovy.json.JsonBuilder
def OrderResultSet=conn.rows('select ORDER_NUMBER,COMPANY_NAME from ORDERS where ORDER_NUMBER=74')
OrderResultSet.each{
it.LINE=conn.rows('select * from LINE where HEADER_ID=:ORDER_NUMBER',[ORDER_NUMBER:it.ORDER_NUMBER])
}
println new JsonBuilder(OrderResultSet).toPrettyString()
推荐阅读
- r - 在 Rmarkdown 中使用 Kable 为特定单元格着色
- python - 无法在使用 Fixtures 的 Pytest 函数中实例化 Python 数据类(冻结)
- core-plot - 如何在 Coreplot 中实现心率监测器风格的情节
- python - ModuleNotFoundError:安装后没有名为“selenium”的模块
- javascript - 如何将字符串日期转换为日期格式?
- conan - 有没有办法在介子中使用柯南包?
- django - django-registration 无效激活密钥错误,但用户帐户被激活
- r - 如果在两次之间,如何从另一个表返回值?
- gnuradio-companion - 在 GNU Radio Companion 中,Signal Source 模块上的 Gray Frequency 选项卡是什么?
- java - JDB 中每个方法的入口断点