Как вложить groovy sql наборы результатов и сгенерировать JSON для одного и того же? - PullRequest
0 голосов
/ 05 июня 2018

В моей БД у меня есть Order и соответствующая строка. Я хочу сгенерировать JSON для каждого заказа, используя groovy, и написал фрагмент кода ниже, но он не работает должным образом.

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"
      }
   ]
}

1 Ответ

0 голосов
/ 05 июня 2018
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()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...