下面是一个JSON对象:
{
"id":1,
"activities":[
{"time":1659800397,"cities":["london","paris"],"type":1},
{"time":1659800411,"cities":["rome"], "type":2}
]
}
字符串
我想把它扁平化为下面的制表符分隔结构,也许使用jq
| ID|时间|城市|类型|
| --|--|--|--|
| 1 | 1659800397 |伦敦| 1 |
| 1 | 1659800397 |巴黎| 1 |
| 1 | 1659800411 |罗马| 2 |
2条答案
按热度按时间tv6aics11#
在深入到结构中之前,将值存储在变量中以供引用:
字符串
Demo
或者在分别迭代各个部分的同时将最后的部分添加到一起:
型
Demo的
输出量:
2q5ifsrm2#
我自己找到了解决方案;然而,我认为它可能对其他人有用:
字符串
下面是代码的工作原理:
.id as $id
提取“id”字段并将其分配给变量$id
。.activities[]
迭代“activities”数组中的每个对象。"...\($id);\(.time);\(.type);\(.cities[])"
使用我们定义的变量和字段,用提取的值构造所需的输出格式。