我有一个嵌套的JSON文件:
cat *.json | jq '.ContainerVersions[length + 1].ContainerVersions[-length]'
我想从文件中获取容器版本的最新版本。我用的是jq:
import numpy as np
def triangle_kernel(kerlen):
r = np.arange(kerlen)
kernel1d = (kerlen + 1 - np.abs(r - r[::-1])) / 2
kernel2d = np.outer(kernel1d, kernel1d)
kernel2d /= kernel2d.sum()
return kernel2d
print(triangle_kernel(4))
# [[0.02777778 0.05555556 0.05555556 0.02777778]
# [0.05555556 0.11111111 0.11111111 0.05555556]
# [0.05555556 0.11111111 0.11111111 0.05555556]
# [0.02777778 0.05555556 0.05555556 0.02777778]]
print(triangle_kernel(5))
# [[0.01234568 0.02469136 0.03703704 0.02469136 0.01234568]
# [0.02469136 0.04938272 0.07407407 0.04938272 0.02469136]
# [0.03703704 0.07407407 0.11111111 0.07407407 0.03703704]
# [0.02469136 0.04938272 0.07407407 0.04938272 0.02469136]
# [0.01234568 0.02469136 0.03703704 0.02469136 0.01234568]]
但是无法从jenkins使用它,因此需要其他解决方案。
答案 0 :(得分:0)
假设您要获取SupportedVersions
数组的最后一项及其ContainerVersions
数组的最后一项,只需使用负索引即可。负索引将相对于数组的结束而不是开始进行索引。
.SupportedVersions[-1].ContainerVersions[-1]
答案 1 :(得分:0)
或者,可以使用基于步行路径的实用程序 jtc
:
bash $ <container.json jtc -w'<ContainerVersions>l:[-1:]'
"0.0.77"
"0.0.79"
bash $
PS>披露:我是jtc
-用于JSON操作的shell cli工具的创建者