def str = '''{
"ontologyName": "Procedure",
"linkedResources": [{
"tableName": "ProcedureTable1",
"columns": [
"columnAA",
"columnBB",
"columnCC"
]
},
{
"tableName": "ProcedureTable2",
"columns": [
"columnAA",
"columnBB"
]
},
{
"tableName": "ProcedureTable3",
"columns": [
"columnAA"
]
}
]
}'''
def json = new groovy.json.JsonSlurper().parseText(str)
def data = json.linkedResources.inject([]) { list, table -> list << table.columns.collect { ['table': table.tableName, 'column': it]}; list.flatten() }
data.each {
println "${it.table}, ${it.column}"
}
ZGVmIHN0ciA9ICcnJ3sKICAgICJvbnRvbG9neU5hbWUiOiAiUHJvY2VkdXJlIiwKICAgICJsaW5rZWRSZXNvdXJjZXMiOiBbewogICAgICAgICAgICAidGFibGVOYW1lIjogIlByb2NlZHVyZVRhYmxlMSIsCiAgICAgICAgICAgICJjb2x1bW5zIjogWwogICAgICAgICAgICAgICAgImNvbHVtbkFBIiwKICAgICAgICAgICAgICAgICJjb2x1bW5CQiIsCiAgICAgICAgICAgICAgICAiY29sdW1uQ0MiCiAgICAgICAgICAgIF0KICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICAgInRhYmxlTmFtZSI6ICJQcm9jZWR1cmVUYWJsZTIiLAogICAgICAgICAgICAiY29sdW1ucyI6IFsKICAgICAgICAgICAgICAgICJjb2x1bW5BQSIsCiAgICAgICAgICAgICAgICAiY29sdW1uQkIiCiAgICAgICAgICAgIF0KICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICAgInRhYmxlTmFtZSI6ICJQcm9jZWR1cmVUYWJsZTMiLAogICAgICAgICAgICAiY29sdW1ucyI6IFsKICAgICAgICAgICAgICAgICJjb2x1bW5BQSIKICAgICAgICAgICAgXQogICAgICAgIH0KICAgIF0KfScnJwoKZGVmIGpzb24gPSBuZXcgZ3Jvb3Z5Lmpzb24uSnNvblNsdXJwZXIoKS5wYXJzZVRleHQoc3RyKQpkZWYgZGF0YSA9IGpzb24ubGlua2VkUmVzb3VyY2VzLmluamVjdChbXSkgeyBsaXN0LCB0YWJsZSAtPiBsaXN0IDw8IHRhYmxlLmNvbHVtbnMuY29sbGVjdCB7IFsndGFibGUnOiB0YWJsZS50YWJsZU5hbWUsICdjb2x1bW4nOiBpdF19OyBsaXN0LmZsYXR0ZW4oKSB9CmRhdGEuZWFjaCB7CiAgcHJpbnRsbiAiJHtpdC50YWJsZX0sICR7aXQuY29sdW1ufSIKfQ==