Sulla base del bug/thread, sembrerebbe che ci siano alcuni problemi di ambiguità con il supporto di una funzione di accesso alla proprietà punteggiata. Sulla base del thread della mailing list, sembrerebbe che valutare la stringa queryField sarebbe la soluzione migliore:
def result = [a: [b: [c: 42]]]
def queryString = 'a.b.c'
def evalResult = Eval.x(result, 'x.' + queryString)
assert evalResult == 42
Il thread della mailing list è un po' vecchio, quindi c'è una nuova classe Eval (a partire dalla 1.7.2) che può aiutare con l'esecuzione di piccoli frammenti che non hanno un'associazione grande.
Altrimenti, puoi dividere la stringa ed eseguire ricorsivamente valutazioni delle proprietà sull'oggetto, riproducendo efficacemente un sottoinsieme del comportamento di attraversamento di GPath.