如何使用Xidel从含点(.)的JSON键中提取对应值?
用Xidel提取带特殊字符的JSON键对应的值
需要从以下JSON中提取deployment.kubernetes.io/revision键对应的值1:
{ "apiVersion": "apps/v1", "kind": "Deployment", "metadata": { "annotations": { "deployment.kubernetes.io/revision": "1" } } }
之前执行的Xidel命令返回了整个键值对而非单独的值,原因是写法未触发值提取操作。以下是几种正确的实现方式:
方法1:用()包裹特殊键名
xidel -e '$json.metadata.annotations("deployment.kubernetes.io/revision")' -s object.json
方法2:在[]引用后添加()提取值
xidel -e '$json.metadata.annotations["deployment.kubernetes.io/revision"]()' -s object.json
方法3:用.+引号引用键名后添加()提取值
xidel -e '$json.metadata.annotations."deployment.kubernetes.io/revision"()' -s object.json
执行以上任意命令,都会返回预期结果:1
内容的提问来源于stack exchange,提问作者Gilles Quénot
相关产品推荐
相关产品推荐

