JQ 获取 json 中的所有简单值
JQ get all simple values in json
我有一个包含嵌套字典的 json 结构,我想获取其中的所有简单值(String、Int、bool 等,但不是字典和列表)。
如何使用 JQ 实现此目的。
示例:
{
"a": 10,
"b": {
"d": 20,
"e": "hello"
},
"c": {
"z": {
"f": true
}
}
}
预期输出不一定按此顺序:
10
20
"hello"
true
递归,仅选择标量值:
$ cat tmp.json
{
"a": 10,
"b": {"d": 20, "e": "hello"},
"c": {"z": {"f": true}}
}
$ jq 'recurse | scalars' tmp.json
10
20
"hello"
true
我有一个包含嵌套字典的 json 结构,我想获取其中的所有简单值(String、Int、bool 等,但不是字典和列表)。
如何使用 JQ 实现此目的。
示例:
{
"a": 10,
"b": {
"d": 20,
"e": "hello"
},
"c": {
"z": {
"f": true
}
}
}
预期输出不一定按此顺序:
10
20
"hello"
true
递归,仅选择标量值:
$ cat tmp.json
{
"a": 10,
"b": {"d": 20, "e": "hello"},
"c": {"z": {"f": true}}
}
$ jq 'recurse | scalars' tmp.json
10
20
"hello"
true