我有这个脚本:
curl -sX 'GET' \
'https://api.coingecko.com/api/v3/exchange_rates' \
-H 'accept: application/json' | jq -rc '.[]|select(.)|keys,(.[].value|tostring)'
JSON的来源是:
{
"rates": {
"btc": {
"name": "Bitcoin",
"unit": "BTC",
"value": 1,
"type": "crypto"
},
"eth": {
"name": "Ether",
"unit": "ETH",
"value": 14.327,
"type": "crypto"
}, ...
我无法配对键(硬币 id,“btc”)-值(硬币的价值,“1”),我需要的是硬币的 id 及其价值:
btc 1
eth 14.327
如何将这两个单独的数组合二为一?
您可以使用
to_entries
过滤器获得对。它将字典转换为项目数组:一旦你有了这样的条目,你就可以访问每个项目的
.key
和.value.value
来获得你想要的对:将它们转换为字符串也是如此:
请注意,
select(.)
您之前拥有的似乎完全是多余的......