The evaluatePath method casts resultSequence to List, but when a group expression {} appears as an intermediate step in a path, evaluateGroupExpression returns a LinkedHashMap.
Reproduction:
[{"category": "A", "name": "x"}, {"category": "B", "name": "y"}].{category: name}.A
Result:
java.lang.ClassCastException: class java.util.LinkedHashMap cannot be cast to class java.util.List
at com.dashjoin.jsonata.Jsonata.evaluatePath(Jsonata.java:273)
at com.dashjoin.jsonata.Jsonata._evaluate(Jsonata.java:152)
at com.dashjoin.jsonata.Jsonata.evaluate(Jsonata.java:131)
Workaround: Assign the group result to a variable first:
( $grouped := [{"category": "A", "name": "x"}, {"category": "B", "name": "y"}].{category: name}; $grouped.A )