我试图让以下工作&它没有,请帮助我:
curl -s 'https://cryptofresh.com/api/asset/markets?asset=MKR' | jq .OPEN.BTC
有问题的变量包括一个时期,我试图逃避这段时间的所有事情&&也尝试用引号括起来;不去;这是我想要拉出的变量(我在没有任何过滤器的情况下运行jq,并在此处截断输出以显示我需要的内容。提前感谢未来的问题解决者!
curl -s 'https://cryptofresh.com/api/asset/markets?asset=MKR' | jq
....
"OPEN.BTC": {
"volume24": 0.932166,
"price": 0.09995,
"updated": "2016-05-04T03:03:29.000Z"
},
....
答案 0 :(得分:12)
当密钥包含对标识符无效的字符时,您必须引用该名称。
."OPEN.BTC"
或者对于旧版本的jq,请使用索引。
.["OPEN.BTC"]
答案 1 :(得分:3)
另一个答案对我不起作用,但是@jeff-mercado所写的评论对我有用。因此,在此处将其添加为答案。
如果您的密钥上有像“ OPEN.BTC”这样的点,那么您的jq
命令应该是
curl -s 'https://cryptofresh.com/api/asset/markets?asset=MKR' | jq '."OPEN.BTC"'
首先将密钥置于双引号中,然后通过使用单引号将其引起来来避开第一个点。