openwrt默認(rèn)支持jsonfilter, 可直接用來處理json, 語法如下:
jsonfilter | 概述 |
---|---|
¥ | 根結(jié)點(diǎn) |
@ | 當(dāng)前節(jié)點(diǎn) |
.or[] | 子節(jié)點(diǎn) |
.. | 選擇所有符合條件的節(jié)點(diǎn) |
* | 所有節(jié)點(diǎn) |
[] | 迭代器(數(shù)組)下標(biāo)浮梢,從0開始 |
[,] | 支持迭代器中多選 |
[start:end:step] | 數(shù)組切片 |
?() | 過濾 |
() | 表達(dá)式 |
示例:
input test.txt
[{
"test":1,
"result":2
},{
"test":3,
"result":4
}]
- 選擇jsonArray第一項(xiàng):
cat test.txt | jsonfilter -e "$[0]"
output:
{
"test":1,
"result":2
}
- 選擇值:
cat test.txt | jsonfilter -e "$[0].test"
output:
1