2 个版本
0.0.2 | 2022年7月2日 |
---|---|
0.0.1 |
|
0.0.0 | 2022年6月27日 |
#38 in #json-path
8KB
92 行
CJ
cj 是一个轻量级的命令行工具,可以以闪电般的速度处理 JSON 文件。
用法
cj 0.1.0
USAGE:
cj [OPTIONS] [--] [STDIN]
ARGS:
<STDIN> read from stdin
OPTIONS:
-c, --compress compress JSON input
-f, --filters <FILTERS>... filters
-h, --help Print help information
-p, --path [<PATH>...] file path relative or absolute
-V, --version Print version information
示例
假设您在当前工作目录中有一个名为 test.json
的文件,内容如下,当没有提供过滤器表达式时,默认行为是美化打印 JSON 输入。(颜色支持即将推出...)。
$ cat test.json | cj
# OR you can specify the absolute / relative file path with -p option
$ cj -p test.json
{
"store": {
"bicycle": {
"color": "red",
"price": 19.95
},
"book": [
{
"author": "Nigel Rees",
"category": "reference",
"price": 8.95,
"title": "Sayings of the Century"
},
{
"author": "Evelyn Waugh",
"category": "fiction",
"price": 12.99,
"title": "Sword of Honour"
},
{
"author": "Herman Melville",
"category": "fiction",
"isbn": "0-553-21311-3",
"price": 8.99,
"title": "Moby Dick"
},
{
"author": "J. R. R. Tolkien",
"category": "fiction",
"isbn": "0-395-19395-8",
"price": 22.99,
"title": "The Lord of the Rings"
}
]
}
}
过滤出价格低于10元的书籍
$ cj -f $.store.book\[\?\(\@.price\ \<\ 10\)\].title
# Outputs the following:
# "Sayings of the Century","Moby Dick"
您也可以链式使用过滤器
$ cj -f '$.store.book[?(@.price < 10)].title' $..price
# Outputs the following:
# "Sayings of the Century","Moby Dick"
# 19.95,8.95,12.99,8.99,22.99
有关 JSON 路径表达式的更多信息,请访问 此处。
依赖项
~9MB
~171K SLoC