Na podstawie błędu/wątku wydaje się, że istnieją pewne niejednoznaczne problemy z obsługą akcesora właściwości z kropkami. Na podstawie wątku listy mailingowej wydaje się, że najlepszym rozwiązaniem będzie ocena ciągu queryField:
def result = [a: [b: [c: 42]]]
def queryString = 'a.b.c'
def evalResult = Eval.x(result, 'x.' + queryString)
assert evalResult == 42
Skrypt w konsoli internetowej Groovy
Wątek listy dyskusyjnej jest trochę stary, więc istnieje nowa klasa Eval (od co najmniej 1.7.2), która może pomóc w uruchamianiu małych fragmentów, które nie mają dużego powiązania.
W przeciwnym razie możesz podzielić ciąg i rekurencyjnie wykonywać oceny właściwości obiektu, skutecznie odtwarzając podzbiór zachowania przechodzenia GPath.