Bota5ky

JSON Path

课程:https://kodekloud.com/courses/json-path-quiz/

注意点:

  • json query 得到的都是数组形式的result

list

list有序(序号从0开始),而dictionary无序

  • 取第0个和第3个:$[0,3]
  • 取第0个到第3(不包含)个:$[0:3]
  • 每隔2个取第0个到第8(不包含)个:$[0:8:2]
  • 取最后1个:在某些实现下不起作用$[-1],需要写成$[-1:0]$[-1:]

操作符

操作符 描述
$ root根元素
@ 表示list中的每一个元素
* 匹配所有
?() if过滤匹配
['' (, '')] 用方括号和单引号取值

逻辑表达式

逻辑表达式 描述
==, !=, <, <=, >, >= 等于,不等于...
=~ 右边匹配正则表达式
in, nin 匹配是否存在数组中
subsetof, anyof, noneof 子集匹配
size, empty 数组大小匹配

函数

函数 描述 输出类型
min, max, avg 最小最大平均值 Double
stddev 标准偏差值 Double
sum 求和 Double
length 长度 Integer
keys 提供属性键(终端波浪号~的替代项) Set
concat, append 拼接,加入 like input
first, last, index 数组元素 由数组决定

kubectl

$非强制需要写上,kubectl会帮助添加

拼接内容:kubectl get nodes -o=jsonpath='{.items[*].metadata.name}{"\n"}{.items[*].status.capacity.cpu}'

Loop:

'{range .items[*]}
	{.metadata.name}{"\t"}{.status.capacity.cpu}{"\n"}
{end}'

custom-columns:

kubectl get nodes -o=custom-columns=<COLUMN NAME>:<JSON PATH>

posted @ 2022-12-06 21:55  Bota5ky  阅读(34)  评论(0编辑  收藏  举报