У меня есть несколько сценариев, которые передают "kubectl ... -o json" в "jq". Я конвертировал многие из этих вхождений, чтобы использовать параметр "jsonpath" для kubectl, чтобы я мог пропустить шаг jq.
Есть один набор из них, который я не смог преобразовать из-за проблем с пунктуацией , Исходная строка выглядит примерно так:
kubectl ... -o json | jq -r '.data["application.properties"]'
В json есть карта «данных», ключи которой могут иметь точки в именах, поэтому я должен проиндексировать ее как массив с имя в качестве ключа. Это работает нормально, используя jq.
Простое преобразование этого в jsonpath выглядит примерно так:
kubectl ... -o=jsonpath="{.data["application.properties"]}"
Это не с:
error: error parsing jsonpath {.data[application.properties]}, invalid array index application.properties
Это не Кажется, это не проблема цитирования, так как он четко определяет, какой у меня индекс индексированных массивов, он просто не позволяет мне его использовать.
Есть ли способ сделать это полностью с помощью jsonpath?