Jq学习
Contents
json 对象过虑
# 如果不存在, 则为 null
.foo.bar 等同于 .foo|.bar
# 如果 key 包含特殊字符, 则要
."foo$"
或
.["foo$"]
可选对象过虑
.foo?
通用对象过虑
.[<string>]
数组过虑
.[2]
数组切片
.[10:15]
对象迭代器
.[]
或
.[]?
逗号
.foo, .bar,
管道
.[] | .foo
.a.b.c 等同于 .a | .b | .c
例子
迭代数组
jq ".data.horizontal_lines[]|.line_name,.line_value"
将对象数组输出为 csv/tsv
https://unix.stackexchange.com/questions/570548/convert-json-array-into-csv
jq -r '.[] | [
.id,
.link,
.metadata."@context",
.metadata."@type",
.metadata.name,
.metadata.inLanguage,
.metadata.image,
.metadata.author[0]."@type",
.metadata.author[0].name,
.metadata.license."@type",
.metadata.license.url,
.metadata.license.name
] | @csv或@tsv' file.json