Json 将列名指定给使用jq后提取的值
我正在尝试使用shell中的jq从JSON数据中提取值,一旦我得到了我想给它命名的值Json 将列名指定给使用jq后提取的值,json,shell,header,jq,Json,Shell,Header,Jq,我正在尝试使用shell中的jq从JSON数据中提取值,一旦我得到了我想给它命名的值 ... | jq '.[].name' 输出应该是 name "tom" "harry" 使用“运算符”,例如: jq '"name", .[].name' 但是,这将导致“name” 如果您确实希望name不加引号,但要加引号,请考虑: jq -r '"name", (.[].name | "\"\(.)\"")' 不止一个字段 您可以对多个列使用相同的策略。在下面的示例中,我假设您想要TSV输出(即
... | jq '.[].name'
输出应该是
name
"tom"
"harry"
使用“运算符”,例如:
jq '"name", .[].name'
但是,这将导致“name”
如果您确实希望name
不加引号,但要加引号,请考虑:
jq -r '"name", (.[].name | "\"\(.)\"")'
不止一个字段
您可以对多个列使用相同的策略。在下面的示例中,我假设您想要TSV输出(即,字段由制表符分隔):
使用“运算符”,例如:
jq '"name", .[].name'
但是,这将导致“name”
如果您确实希望name
不加引号,但要加引号,请考虑:
jq -r '"name", (.[].name | "\"\(.)\"")'
不止一个字段
您可以对多个列使用相同的策略。在下面的示例中,我假设您想要TSV输出(即,字段由制表符分隔):
是的,它需要看起来像表,但其名称Id池“某处的XXXXXX名称652 800”“zzzzzz 652 800”“文件3869 4985”是的,它需要看起来像表,但其名称Id池“某处的XXXXXX名称652 800”“zzzz 652 800”“文件3869 4985”