6个稳定版本
| 2.0.0 | 2024年8月4日 |
|---|---|
| 1.1.1 | 2023年8月1日 |
| 1.0.2 | 2023年7月31日 |
| 1.0.1 | 2023年7月30日 |
#377 在 命令行工具
每月下载量 125次
13KB
225 行
LiveJQ
livejq 是一个类似 jq 的JSON解析器,但设计用于在连续输入时工作,不会在无效JSON上崩溃。带有json过滤器。
它使用 livejq.toml 文件来指定 过滤规则。
用例
当你有一个打印日志的程序,其中可能包含其他格式,如文本和JSON,并且你想更好地可读性解析JSON时,你可以使用 livejq 来解析JSON,而不会在其他格式上崩溃。
或者当你想在对json进行解析时应用 filters。
演示
https://github.com/KunalSin9h/livejq/assets/82411321/71907858-5150-4efe-8c0f-58bb1c0dc591
安装
使用 cargo 进行安装
cargo install livejq
或者你可以在 发布页面 中找到 binaries
用法
./your_program | livejq
过滤器
要应用过滤,你需要在项目根目录中创建 livejq.toml 文件。
它包含 labels。 labels 是可以应用 -f / --filter 标志的过滤标签。
示例配置文件
# livejq.toml
allow = ["name"] # default
[network-fail] # -f network-fail
allow = ["failed"]
[memory-info] # -f memory-info
allow = ["memory"]
然后以以下方式运行应用程序
./your_program | livejq -f network-fail
# you can apply multiple filters
./your_program | livejq -f network-fail memory-info
如果没有创建 label,则使用 default。对于每个标签,你只能允许或禁止,不能两者兼有。
如果在运行程序时未使用 flag,则使用 default 标志。
这里
|用于将my_program的输出作为输入传递到livejq。
依赖关系
~1.8–2.8MB
~55K SLoC