Using Json Slurper + Groovy + Azure answer

So I am trying to write a Jenkins job using groovy to fetch me some data The data inside the variable answer after the 3rd line would be some like

[
  {
    "endIpAddress": "11.21.115.9",
    "id": "blabla1",
    "name": "blabla",
    "resourceGroup": "stg",
    "startIpAddress": "11.12.115.9",
    "type": "blablafirewallRules"
  },
  {
    "endIpAddress": "1.2.15.9",
    "id": "blabla2",
    "name": "function1-blabla",
    "resourceGroup": "stg",
    "startIpAddress": "1.2.15.9",
    "type": "blablafirewallRules"
  },
 {
    "endIpAddress": "7.7.7.7",
    "id": "blabla2",
    "name": "function2-blabla",
    "resourceGroup": "stg",
    "startIpAddress": "7.7.7.7",
    "type": "blablafirewallRules"
  },
.
.
.
.

]

What id like to do is to build a list or a 2-dimentions-array that would parse this json and the it will hold all the startipaddress of all the items where name contains "function", so based on this JSON, the data should be

desiredData[0] = [function1-blabla, 1.2.15.9]
desiredData[1] = [function2-blabla, 7.7.7.7] 

Up until now I wasn't using JsonSlurper and I was manipulating the text and building the array which is pretty stupid thing to do since this is kind of what JSON is all about I guess.

import groovy.json.JsonSlurper


command = "az mysql server firewall-rule list --resource-group ${rgNameSrvr} --server-name ${BLA} --output json"
answer = azure.executeAzureCliCommand(command, "BLA")
def jsonSlurper = new JsonSlurper()
def json = new JsonSlurper().parseText(answer)

def data = json.findAll{ it.name =~ /^function/ }.collectEntries{ [it.name, it.startIpAddress] }

Code above returns map where key=name and value=ip

If you want 2dim array:

def data = json.findAll{ it.name =~ /^function/ }.collect{ [it.name, it.startIpAddress] }