jq:错误:无法添加数字和字符串 [英] jq: error: number and string cannot be added

查看:57
本文介绍了jq:错误:无法添加数字和字符串的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想从jq输出下面打印成员和id的值:

I'd like to print the value of members and id from below jq output:

$ cat test_|jq -r '.[] | select(.name=="AAA") | .'
{
  "name": "AAA",
  "members": 10,
  "profiles": 0,
  "templates": 0,
  "ldapGroups": 0,
  "ldapMembers": 0,
  "id": "20"
}

不幸的是,它仅适用于其中之一:

Unfortunately it works for one of each only:

$ cat test_|jq -r '.[] | select(.name=="AAA") | .members'
10

带有+" +我收到错误:

with +" "+ I get error:

$ cat test_|jq -r '.[] | select(.name=="AAA") | .members+" "+.id'
jq: error: number and string cannot be added

推荐答案

我建议使用 字符串插值 .如有必要,它将自动将输入转换为字符串:

I recommend to use string interpolation. It will automatically cast input to a string if necessary:

jq -r '.[]|select(.name=="AAA")|"\(.members) \(.id)"' file.json

这篇关于jq:错误:无法添加数字和字符串的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆