繁体   English   中英

在bash中使用jq将json值提取为数组

[英]Extract json values as array with jq in bash

如何使用jq将 json 的值提取为 JSON 数组?

例如对于下面的json:

{
   "a" : 1,
   "b" : 2
}

我想将值提取为 JSON 数组:

[ 1, 2 ]

如何用jq做到这一点? 我找到了一种仅在文档中提取密钥的方法:

echo $json | jq keys echo $json | jq keys返回:

[
"a",
"b"
]
echo $json | jq '[.[]]'

输出:

[
  1,
  2
]

一种解决方案是使用to_entries然后map以仅提取值:

$ echo '{
   "a" : 1,
   "b" : 2
}' | jq 'to_entries|map(.value)'
[
  1,
  2
]

另一种更简单快捷的解决方案是仅使用map(.)

$ echo '{
   "a" : 1,
   "b" : 2
}' | jq 'map(.)'
[
  1,
  2
]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM