openwrt默認(rèn)支持jsonfilter, 可直接用來(lái)處理json, 語(yǔ)法如下:
| jsonfilter | 概述 |
|---|---|
| ¥ | 根結(jié)點(diǎn) |
| @ | 當(dāng)前節(jié)點(diǎn) |
| .or[] | 子節(jié)點(diǎn) |
| .. | 選擇所有符合條件的節(jié)點(diǎn) |
| * | 所有節(jié)點(diǎn) |
| [] | 迭代器(數(shù)組)下標(biāo),從0開(kāi)始 |
| [,] | 支持迭代器中多選 |
| [start:end:step] | 數(shù)組切片 |
| ?() | 過(guò)濾 |
| () | 表達(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