Я предполагаю, что вы используете библиотеку JsonPath по адресу:
https://github.com/nebhale/JsonPath
В общем случае при переполнении стека некорректно не публиковать правильный пример кода и не ссылаться наточная библиотека (включая версию), которую вы используете.Без этой информации сообщество остается угадывать и проводить исследования с вашей стороны.
С учетом сказанного я могу предположить, что это ограничение конкретной библиотеки JsonPath, и, насколько я понимаю, она находится вэтот конкретный случай не соответствует спецификации JSON.
Следующий код:
@Grab('com.nebhale.jsonpath:jsonpath:1.2')
import com.nebhale.jsonpath.*
def path = JsonPath.compile('$.im:rating')
при запуске приводит к ошибке, которую вы описываете.
Если вместо этого мы попробуем использовать встроенный groovy JsonSlurper
:
import groovy.json.*
def json = '''\
{
"im:rating": {
"label": "1"
}
}'''
def parsed = new JsonSlurper().parseText(json)
println "value: ${parsed['im:rating']}"
, то получим:
~> groovy use_slurper_instead.groovy
value: [label:1]
, т.е. нет проблем с использованием ключей с :
символов в них.Я бы поднял вопрос с JsonPath.