fork(1) download
  1. def str = '''{
  2. "ontologyName": "Procedure",
  3. "linkedResources": [{
  4. "tableName": "ProcedureTable1",
  5. "columns": [
  6. "columnAA",
  7. "columnBB",
  8. "columnCC"
  9. ]
  10. },
  11. {
  12. "tableName": "ProcedureTable2",
  13. "columns": [
  14. "columnAA",
  15. "columnBB"
  16. ]
  17. },
  18. {
  19. "tableName": "ProcedureTable3",
  20. "columns": [
  21. "columnAA"
  22. ]
  23. }
  24. ]
  25. }'''
  26.  
  27. def json = new groovy.json.JsonSlurper().parseText(str)
  28. def data = json.linkedResources.inject([]) { list, table -> list << table.columns.collect { ['table': table.tableName, 'column': it]}; list.flatten() }
  29. data.each {
  30. println "${it.table}, ${it.column}"
  31. }
Success #stdin #stdout 2.01s 135312KB
stdin
Standard input is empty
stdout
ProcedureTable1, columnAA
ProcedureTable1, columnBB
ProcedureTable1, columnCC
ProcedureTable2, columnAA
ProcedureTable2, columnBB
ProcedureTable3, columnAA