【发布时间】:2021-12-17 18:17:59
【问题描述】:
我怎样才能得到我想要的输出?我不知道如何保留对象名称(键)。
我是 jq 的新手,我尝试了 jq 的 select/flatten/map/","/"keys as $k".../etc 的几种风格。但我什么也没有。
输入
$ echo '{"apples": {"color":"green", "count":3}, "bananas": {"color":"yellow", "count":4}, "cherries": {"color":"red"}}' \
| jq .
{
"apples": {
"color": "green",
"count": 3
},
"bananas": {
"color": "yellow",
"count": 4
},
"cherries": {
"color": "red"
}
}
实际输出
这是我得到的最好的,但对象名称不见了:
$ echo '{"apples": {"color":"green", "count":3}, "bananas": {"color":"yellow", "count":4}, "cherries": {"color":"red"}}' \
| jq '.apples, .cherries'
{
"color": "green",
"count": 3
}
{
"color": "red"
}
预期输出
这就是我想要的:
{"color":"yellow", "count":4}, "cherries": {"color":"red"}}' \
| jq #some-jq-magic-here
{
"apples": {
"color": "green",
"count": 3
},
"cherries": {
"color": "red"
}
}
【问题讨论】:
-
在你的情况下:
{apples, cherries} -
我不确定所选的stackoverflow.com/questions/34834519/… 是否是理想的重复目标。这个问题比这个问题更含糊,虽然想要的答案在那里,但目前既不是公认的也不是最受支持的答案。