You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JSONPath输出支持回溯遍历吗?附Kubernetes命令示例

JSONPath输出中如何实现回溯遍历?

你的问题核心是在嵌套遍历JSONPath时,需要回溯到外层迭代的对象(此处为Pod),获取其关联字段并和内层对象(容器)的字段一起输出。

问题分析

你当前使用的命令:

kgp -o jsonpath='{range .items[]}{range @.spec.containers[*]}{@.name}{"\t"}{.items[*].metadata.name}{"\n"}{end}{"\n"}{end}'

其中.items[*].metadata.name会全局遍历所有Pod的名称,而非当前容器所属的Pod,导致输出只显示容器名,无法关联对应的Pod字段。

解决方法

在外层遍历Pod的range中,将当前Pod的目标字段(如metadata.name)赋值给变量,内层遍历容器时直接引用该变量即可实现回溯关联:

kgp -o jsonpath='{range .items[]}{$podName := .metadata.name}{range @.spec.containers[*]}{@.name}{"\t"}{$podName}{"\n"}{end}{end}'

输出结果

执行上述命令后,会得到符合预期的输出:

  • nginx default
  • istio-proxy default
  • sidecar-1 default

内容的提问来源于stack exchange,提问作者kabilan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 07:45:33