我有以下输入文件

["alice", ["foo", "bar", "baz"]]
["bob", ["qux", "quux"]]
⋮

我想把它转换成一个制表符分隔的文件,如下所示(注意没有引号)

alice   foo
alice   bar
alice   baz
bob     qux
bob     quux
⋮

所有数组元素都保证是字符串(没有空值). 你能帮我想出一个JQ脚本来实现这一点吗?

推荐答案

用自己的每一项(.[])替换last项(或.[1]项),然后使用@tsv将其全部转换为制表符分隔值:

jq -r 'last = last[] | @tsv' input.json
alice   foo
alice   bar
alice   baz
bob qux
bob quux

Demo

Json相关问答推荐

筛选JSON数组以使用Jolt仅保留具有最新日期/时间的条目

如何使用ChoETL将复杂的JSON转换为CSV

解析JSON说函数parse_json不存在?

修改Deneb图表中工具提示的字体大小

Postgres Select json数组并重新映射属性名称

褐煤面积图中的分选问题

使用 JSON 和相对日期设置日历视图中 SharePoint 列表项的背景 colored颜色 格式

ETCD 导出为 json 并从 base64 解码所有键/值到人类可读

为什么解析的字典相等而腌制的字典不相等?

使用杰克逊解析Kotlin 中的通用密封类

Vue 3如何将参数作为json发送到axios get

为什么在测试 RSPEC 时 JBuilder 不返回 JSON 中的响应正文

Laravel5 Json 获取文件内容

Android 上的 JSON - 序列化

如何在 swift 2 中获取 Alamofire.request().responseJSON 的结果值?

Jackson 没有使用 @JsonProperty 覆盖 Getter

有必要清理 JSON 吗?

获取一个数字的 PHP 对象属性

强制 JSON.NET 在序列化 DateTime 时包含毫秒(即使 ms 组件为零)

杰克逊自动将 Joda DateTime 格式化为 ISO 8601 格式