【jq】 linux json 查詢工具(修改篇)
[root@jylee-stres-stest250 tmp]# echo '{"a":{"b":0, "c":1}}' | jq .
{
"a": {
"b": 0,
"c": 1
}
}
- 新增 / 修改 : setpath([
路徑
];值
)
[root@jylee-stres-stest250 tmp]# echo '{"a":{"b":0, "c":1}}' | jq 'setpath(["a","b"];1)'
#修改 a . b ; 0 => 1
{
"a": {
"b": 1,
"c": 1
}
}
#修改 多筆值用 | 分開
#修改 a . b ; 0 => 1,
# 修改 a . c ;1=> array( 1,2)
[root@jylee-stres-stest250 tmp]# echo '{"a":{"b":0, "c":1}}' | jq 'setpath(["a","b"];1) | setpath(["a","c"];[1,2])'
{
"a": {
"b": 1,
"c": [
1,
2
]
}
}
- 刪除 delpath
s
([ [刪除節點1
] ,[刪除節點2
]...])
[root@jylee-stres-stest250 tmp]# echo '{"a":{"b":0, "c":1},"d": 111}' | jq .
{
"a": {
"b": 0,
"c": 1
},
"d": 111
}
# 刪除d節點
[root@jylee-stres-stest250 tmp]# echo '{"a":{"b":0, "c":1},"d": 111}' | jq 'delpaths([["d"]])'
{
"a": {
"b": 0,
"c": 1
}
}
# 刪除d節點, a.b 節點
[root@jylee-stres-stest250 tmp]# echo '{"a":{"b":0, "c":1},"d": 111}' | jq 'delpaths([["d"],["a","b"]])'
{
"a": {
"c": 1
}
}