我有这个 JSON 输入到 JQjq
{
"names": [{
"name": "John Smith"
},{
"name": "Jane Doe"
},{
"name": "Jackson Longfellow"
}]
}
Run Code Online (Sandbox Code Playgroud)
我想使用 jq 选择名称长度> 10 个字符的所有项目。这意味着输出将是:
{
"names": [{
"name": "Jackson Longfellow"
}]
}
Run Code Online (Sandbox Code Playgroud)
过滤length器似乎只计算数组中的项目。是否有其他内置过滤器可用于此目的?
通过仅更新那些匹配的项目来更新|=数组。应用于字符串将输出其长度(计算 Unicode 代码点)。namesselectlength
jq '.names |= map(select(.name | length > 10))'
Run Code Online (Sandbox Code Playgroud)
{
"names": [
{
"name": "Jackson Longfellow"
}
]
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5109 次 |
| 最近记录: |