当前位置: 首页 > Linux

Linux中JQ命令使用示例

时间:2023-04-07 00:27:01 Linux

JSON是一种数据表示格式,用于在应用程序的不同层之间存储和传输数据;它将数据存储在键:值对中。在本文中,我们将学习使用JQ命令在shell中操作和处理JSON数据。如何安装JQ命令在Centos8中使用如下命令安装jq:[root@localhost~]#dnf-yinstalljqLinux中的JQ命令使用示例Linux中的JQ命令使用示例语法现在我们可以开始使用了JQ命令,因为它已成功安装在我们的系统上,但首先,让我们看一下JQ命令的语法:jq[options][file...]jq[options]--args[strings...]jq[选项]--jsonargs[JSON_TEXTS...]JQ命令可以以多种不同的方式使用;它可以直接在JSON文件上使用,也可以与其他几个命令结合使用来解释JSON数据。JQ命令可以与不同的过滤器一起使用,例如“.”、“|”、“,”或“.[]”过滤器来组织JSON数据。JQ命令还采用不同的选项作为参数,例如--tab、--stream、--indentn、--unbuffered和-L目录选项。JQ命令的语法初看起来可能很复杂,但是阅读整篇文章后您就会熟悉它。如何使用JQ命令组织JSON数据JQ命令过滤器最简单和常用的功能。它们用于在将JSON数据打印到标准输出时组织和美化它。在这个例子中,我们有一个名为employee.json的JSON文件,我们需要将数据输出到标准输出:{"workers":{"name":"JohnBrooks","id":"003"}}我们可以使用cat命令显示数据:[root@localhost~]#catemployee.json{"workers":{"name":"JohnBrooks","id":"003"}}Linux中的JQ命令使用Linux中的JQ命令使用示例使用cat命令打印到标准输出的数据杂乱无章且混乱。我们可以使用JQ命令和“.”整理这些数据,使用。过滤:[root@localhost~]#jq'.'employee.json{"workers":{"name":"JohnBrooks","id":"003"}}在Linux中使用JQ命令示例在示例数据中使用LinuxJQ命令现在更有条理、丰富多彩且更易于理解.从API访问数据时尤其需要此过滤器;存储在API中的数据可能非常杂乱无章且令人困惑。如何使用JQ命令访问属性。字段过滤器和JQ命令可用于访问shell中的对象属性。如果我们只想访问单个属性并将其打印到标准输出,那么我们可以使用.field运算符。例如,要访问工人的属性,我们可以使用以下命令:[root@localhost~]#jq'.workers'employee.json{"name":"JohnBrooks","id":"003"}在Linux中JQ命令用法示例JQ命令在Linux中的用法示例我们还可以使用.field运算符来访问属性中存在的项目。要访问worker属性中的名称项,我们将使用:[root@localhost~]#jq'.workers.name'employee.json"JohnBrooks"JQ命令在Linux中的使用示例JQ命令在Linux中的使用示例如何使用访问数组项的JQ命令我们还可以使用.[]运算符访问和输出JSON文件中数组中存在的元素。对于此示例,我们将修改JSON文件以添加以下内容:[{"name":"JohnBrooks","id":"003"},{"name":"RandyPark","id":"053"},{"name":"ToddGray","id":"009"}]查看employee.json文件:www.ccidnet.com/2016/0822/10173006.shtmlwww.donews.com/新闻/detail/4/2970162.htmlwww.51cto.com/it/news/2020/0113/18299.htmlwww.donews.com/news/detail/4/2971720.html[root@localhost~]#catemployee.json[{"name":"JohnBrooks","id":"003"},{"name":"RandyPark","id":"053"},{"name":"ToddGray","id":"009"}]Linux中的JQ命令示例Linux中的JQ命令示例要输出JSON文件中存在的所有数组,我们将运行以下命令:[root@localhost~]#jq'.[]'employee.json{"name":"JohnBrooks","id":"003"}{"name":"RandyPark","id":"053"}{"name":"ToddGray","id":"009"}JQ命令在Linux中的使用示例JQ命令在Linux中的使用示例如果只输出第二个数组,我们可以将上面的命令修改为:[root@localhost~]#jq'.[1]'employee.json{"name":"RandyPark","id":"053"}Linux中的示例JQ命令Linux中的示例JQ命令用法请记住,数组从索引0开始。我们还可以使用.json访问数组中存在的属性。现场操作员。例如,如果我们想访问第三个数组中的name属性,那么我们将运行以下命令:[root@localhost~]#jq'.[2].name'employee.json"ToddGray"JQCommandsinLinux示例JQ命令在Linux中的使用示例同样,要访问数组中的所有名称属性,我们可以执行以下命令:[root@localhost~]#jq'.[].name'employee.json"JohnBrooks""RandyPark""ToddGray"Linux中的JQ命令使用示例JQ命令使用Linux示例摘要JQ命令用于将JSON数据转换为更易读的格式,并将其打印到Linux上的标准输出。JQ命令是围绕过滤器构建的,过滤器用于从JSON文件中查找和打印所需的数据。