10 个不稳定版本 (3 个破坏性更新)
0.4.0 | 2024 年 8 月 13 日 |
---|---|
0.3.0 | 2024 年 6 月 2 日 |
0.2.3 | 2024 年 5 月 26 日 |
0.2.2 | 2024 年 4 月 21 日 |
0.1.3 | 2024 年 3 月 24 日 |
#72 在 文本编辑器
每月 327 次下载
44KB
877 行
jnv
jnv 设计用于导航 JSON,提供交互式 JSON 查看器和 jq
过滤器编辑器。
特性
- 交互式 JSON 查看器和
jq
过滤器编辑器- JSON 语法高亮显示
- 使用 jaq 应用
jq
过滤器- 这消除了用户自己准备
jq
的需要。
- 这消除了用户自己准备
[!重要] 从 v0.3.0 版本开始,已从 libjq Rust 绑定 j9 转换到 jq 克隆 jaq。
此更改消除了管理包含外部工具(如 autoconf)的 C 相关依赖项的需要,从而简化了构建过程。但是请注意,一些过滤器目前尚不支持 jaq。有关更多详细信息,请参阅 GitHub 问题 #24。
请继续提供有关此转换的反馈。
- 能够适应各种格式
- 输入:文件,标准输入
- 数据:可以使用 StreamDeserializer 反序列化的 JSON 或多个 JSON 结构,例如 JSON Lines
- 过滤器自动完成
- 提示信息以评估过滤器
安装
Homebrew
更多信息请参阅 此处。
brew install jnv
或者通过 Homebrew Tap 安装
brew install ynqa/tap/jnv
MacPorts
更多信息请参阅 此处。
sudo port install jnv
Nix / NixOS
更多信息请参阅 search.nixos.org 上的软件包条目。
nix-shell -p jnv
conda-forge
更多信息请参阅 此处。
pixi global install jnv
# or
cat data.json | pixi exec jnv
# or
conda install jnv
Docker
构建(在不久的将来,图像将在某个注册表中可用)
docker build -t jnv .
并运行(以下命令仅为例子。请修改路径以指向您想挂载的文件)
docker run -it --rm -v $(pwd)/debug.json:/jnv/debug.json jnv /jnv/debug.json
Cargo
cargo install jnv
示例
cat data.json | jnv
# or
jnv data.json
键盘映射
键 | 操作 |
---|---|
Ctrl + C | 退出 jnv |
Tab | jq过滤器自动完成 |
← | 将光标向左移动一个字符 |
→ | 将光标向右移动一个字符 |
Ctrl + A | 将光标移到过滤器的开头 |
Ctrl + E | 将光标移到过滤器的末尾 |
退格键 | 删除光标位置处的过滤器字符 |
Ctrl + U | 删除过滤器中的所有字符 |
↑, Ctrl + K | 在JSON查看器中向上移动一个条目 |
↓, Ctrl + J | 在JSON查看器中向下移动一个条目 |
Ctrl + H | 移动到JSON查看器中的最后一个条目 |
Ctrl + L | 移动到JSON查看器中的第一个条目 |
Enter | 在JSON查看器中切换展开/折叠 |
Ctrl + P | 在JSON查看器中展开所有折叠 |
Ctrl + N | 在JSON查看器中折叠所有折叠 |
Alt + B | 将光标移到最近的字符之前(在集合中. 、| 、( 、) 、[ 、] ) |
Alt + F | 将光标移到最近的字符之后(在集合中. 、| 、( 、) 、[ 、] ) |
Ctrl + W | 删除到最近的字符之前(在集合中. 、| 、( 、) 、[ 、] ) |
Alt + D | 删除到最近的字符之后(在集合中. 、| 、( 、) 、[ 、] ) |
Ctrl + O | 将当前JSON内容复制到剪贴板 |
Ctrl + Q | 将当前查询复制到剪贴板 |
用法
JSON navigator and interactive filter leveraging jq
Usage: jnv [OPTIONS] [INPUT]
Examples:
- Read from a file:
jnv data.json
- Read from standard input:
cat data.json | jnv
Arguments:
[INPUT] Optional path to a JSON file. If not provided or if "-" is specified, reads from standard input
Options:
-e, --edit-mode <EDIT_MODE>
Edit mode for the interface ('insert' or 'overwrite'). [default: insert]
-i, --indent <INDENT>
Number of spaces used for indentation in the visualized data. [default: 2]
-n, --no-hint
Disables the display of hints.
-d, --expand-depth <JSON_EXPAND_DEPTH>
Initial depth to which JSON nodes are expanded in the visualization. [default: 3]
-s, --limit-length <JSON_LIMIT_LENGTH>
Limit length of JSON array in the visualization. [default: 50]
-l, --suggestion-list-length <SUGGESTION_LIST_LENGTH>
Number of suggestions visible in the list. [default: 3]
-h, --help
Print help (see more with '--help')
-V, --version
Print version
随时间变化的星星数量
依赖项
~8–22MB
~306K SLoC