【发布时间】:2015-09-12 03:53:41
【问题描述】:
这是我的输入 json:
{
"channels": [
{ "id": 1, "name": "Pop"},
{ "id": 2, "name": "Rock"}
],
"links": [
{ "id": 2, "streams": [ {"url": "http://example.com/rock"} ] },
{ "id": 1, "streams": [ {"url": "http://example.com/pop"} ] }
]
}
这是我想要的输出:
"http://example.com/pop"
"Pop"
"http://example.com/rock"
"Rock"
所以我需要 jq 根据.links[].id 将.channels[].id 替换为.links[].streams[0].url
我不知道这是否正确,但这就是我设法输出网址的方式:
(.channels[].id | tostring) as $ids | [.links[]] | map({(.id | tostring): .streams[0].url}) | add as $urls | $urls[$ids]
"http://example.com/pop"
"http://example.com/rock"
问题是,如何添加.channels[].name?
【问题讨论】: