JMESPath终端
项目描述
JMESPath,您的终端中的!
概述
JMESPath是一种用于操作JSON文档的表达式语言。如果您之前从未听说过JMESPath,您可以编写一个JMESPath表达式,将其应用于输入JSON文档时,将根据您提供的表达式生成输出JSON文档。
您可以通过访问JMESPath网站获取更多信息。
学习JMESPath语言的最佳方法之一是通过创建自己的JMESPath表达式进行实验。JMESPath终端使您在键入时能够立即看到您的JMESPath表达式的结果。
入门
您可以通过pip安装JMESPath终端
$ pip install jmespath-terminal
然后会有一个可运行的jpterm程序
$ jpterm
如果没有指定参数,将使用示例JSON文档作为输入。
您也可以通过指定JSON文件作为位置参数来指定初始的JSON文档
$ jpterm /tmp/somejsondoc.json
您还可以通过管道将输入的JSON文档传递给jpterm命令
输出
当jpterm程序退出(通过F5或Ctrl-c)时,jpterm可能会根据输出模式将内容写入stdout。有三个输出模式
结果 - "JMESPath结果"面板(右侧)中的任何内容都将打印到stdout。
表达式 - "JMESPath表达式"面板中的任何内容都将打印到stdout。
无 - 退出时不写入任何内容到stdout。
默认模式是“结果”,这意味着默认情况下,在jpterm退出时,结果面板中的内容将打印到stdout。您可以使用Ctrl-p切换输出模式,它会遍历上述三个模式。您还可以使用-m/--output-mode命令行选项在启动jpterm命令时指定要使用哪种模式。
键盘快捷键
- F5 或 Ctrl + c
- 退出程序。
- Ctrl + p
- 输出模式切换。在输出当前结果、表达式或无内容之间切换。这在上面的“输出”部分有详细讨论。
- Ctrl + ]
- 清除当前表达式。
鼠标点击
注意:这些功能取决于终端支持。(Mac OS X中包含的Terminal.app不支持此功能,但iTerm2支持。)
Urwid Python包(jmespath-terminal基于此构建)的一个特性是识别鼠标点击。这允许你通过点击来在输入或结果窗口之间切换焦点(当然也可以切换回表达式)并滚动它。
这可能会使选择文本进行复制/粘贴变得困难。许多Linux终端允许你使用Shift + 点击/拖动来选择文本,并用Shift + Ctrl + c来复制它。在iTerm2中,可以通过Opt/Alt + 点击/拖动来选择。
在JMESPath终端上工作
如果你喜欢在jmespath-terminal上工作以添加新功能,你可以首先创建并激活一个新的虚拟环境
$ virtualenv venv $ . venv/bin/activate
然后安装模块
$ pip install -e .
现在你将能够修改jpterm.py模块,并在运行jpterm命令时看到你的更改。
测试版状态
直到jmespath-terminal达到1.0版本,一些命令行选项和语义可能会发生变化。将有一个CHANGELOG.rst文件,它将概述每个新版本发生的变化。
项目详情
jmespath-terminal-0.2.1.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 60c538e6c0244d2b58d7ff470839b9742a91b74d685a6cbf2764a4895f133639 |
|
MD5 | 4a9075b2820e87cac2a0ff47341a959f |
|
BLAKE2b-256 | ebf8517e5f01e657b0ba384e133e0e6c92c577c96c57b3029b9d29b6baa3662f |