跳转到主要内容

JMESPath终端

项目描述

JMESPath,您的终端中的!

https://cloud.githubusercontent.com/assets/368057/5158769/6546e58a-72fe-11e4-8ceb-ba866777983e.gif

概述

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命令

https://cloud.githubusercontent.com/assets/368057/5158770/6a6afb6e-72fe-11e4-8be3-893edf21920e.gif

输出

jpterm程序退出(通过F5Ctrl-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 (6.3 kB 查看哈希值)

上传时间

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面