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

参考资料

https://stedolan.github.io/jq/manual/