簡體   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