jQ:在 Windows 上将 json 转换为 tsv

jQ: transforming json to tsv on Windows

我在 windows 机器上使用 jq,我有以下数据:

{"a":"Person","birthDay":"12","deathDay":"15", ...}
{"a":"Person","birthDay":"13","deathDay":"16", ...}
...

我想要一个制表符分隔的文件格式:

Person   12   15
Person   13   16

我可以用“.a”或“.birhtDay”获取值。但是如何获取所有值并通过选项卡将它们分开?

亲切的问候, 乱七八糟

幸运的是,与 CSV 相比,TSV 是一种更简单的格式。假设这些值没有换行符或制表符,您只需要在文件中构建您想要的每一行数据,然后将它们打印出来,用制表符分隔值。只需确保使用原始输出 -r 选项即可。

[ .a, .birthDay, .deathDay ] | join("\t")

最新版本的 jq(例如 1.5rc1 -- 可通过 https://github.com/stedolan/jq/releases 获得)包含一个名为 @tsv.

的过滤器

4 月 15 日,jq 得到增强,@tsv 将生成有效的 tsv(每个有效数组一行),例如如果输入字符串包含制表符、换行符或 NUL。