本心、输入输出、结果
文章目录
- Windows 11 PowerShell 安装 jq 命令
- 前言
- jq 命令简介
- 基本语法
- 案例
- Windows 11 PowerShell 安装 jq 命令
- 使用 jq 格式化 curl 输出的 json
- 弘扬爱国精神
Windows 11 PowerShell 安装 jq 命令
编辑:简简单单 Online zuozuo
地址:https://blog.csdn.net/qq_15071263
如果觉得本文对你有帮助,欢迎点赞、收藏、评论
前言
Windows 11 PowerShell 安装 jq 命令
jq 命令是一个在命令行下使用的 JSON 处理器,它能够对 JSON 数据进行查询、过滤、映射和转换等操作
jq 命令简介
jq 命令是一个在命令行下使用的 JSON 处理器,它能够对 JSON 数据进行查询、过滤、映射和转换等操作
基本语法
jq [options] filter [file...]
其中,options 是可选的参数,filter 是 jq 脚本,file 是待处理的 JSON 文件。如果省略 file 参数,jq 会从标准输入中读取 JSON 数据。
以下是一些常用的选项:
-c:将输出结果以紧凑的格式输出,取消掉换行。
-r:将输出结果以原始格式输出,取消掉 JSON 字符串的引号。
-s:将输入合并成一个数组,用于处理包含多个 JSON 对象的文件。
-M:禁用内存优化模式,适用于处理较大的 JSON 文件。
过滤器(Filter)是一个 jq 脚本,用于定义对输入数据的处理方式。例如,可以使用过滤器来选取特定的数据字段、进行数据转换、过滤数据等。过滤器的语法类似于编程语言中的表达式,可以使用简单的逻辑运算符和函数来处理数据。
案例
例如,以下是一个使用 jq 命令进行数据转换的示例:
假设有一个包含员工信息的 JSON 文件 employees.json:
[
{"name": "Alice", "age": 30},
{"name": "Bob", "age": 35},
{"name": "Charlie", "age": 40}
]
现在我们想要将每个员工的年龄增加 10 岁,可以使用以下命令
jq 'map(.age + 10)' employees.json
这个命令将会输出一个新的 JSON 数组,其中每个员工的年龄都增加了 10 岁。在这个示例中,map(.age + 10) 是 jq 的一个过滤器,它会对数组中的每个元素进行处理,将每个员工的年龄增加 10 岁。map() 是 jq 的一个函数,它会对数组中的每个元素应用括号中的过滤器,并返回一个新的数组。在这个例子中,我们将每个员工的年龄增加 10 岁,并将结果存储在一个新的数组中。这个新的数组会被输出到控制台中。除了对单个字段进行转换外,jq 还支持更复杂的过滤操作。例如,我们可以使用 if 和 else 来对数据进行条件判断和过滤。以下是一个示例:假设我们有一个包含员工信息的 JSON 文件 employees.json
[
{"name": "Alice", "age": 30, "salary": 5000},
{"name": "Bob", "age": 35, "salary": 6000},
{"name": "Charlie", "age": 40, "salary": 7000}
]
现在我们想要找出薪水低于 6000 的员工,可以使用以下命令
jq 'map(select(.salary < 6000))' employees.json
Windows 11 PowerShell 安装 jq 命令
iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
choco install jq
jq --version
需要以管理员身份运行 PowerShell
使用 jq 格式化 curl 输出的 json
我们以调用文心一言 4.0 API 为例,使用 jq 格式化 curl 输出的 json ,方便我们使用,就很棒