有这样的json数据
➜ ~ cat foo.json | jq
{
"data": {
"foo": [
{
"table": "aaa"
},
{
"table": "bbb"
}
],
"bar": [
{
"table": "ccc"
},
{
"table": "ddd"
}
]
}
}可以单独获取foo或bar表,
➜ ~ cat foo.json | jq '.data.foo[].table'
"aaa"
"bbb"
➜ ~ cat foo.json | jq '.data.bar[].table'
"ccc"
"ddd"如何在一个命令中获取所有表值?
发布于 2018-08-06 22:28:46
使用逗号运算符。
$ jq '.data["foo", "bar"][].table' foo.json或
$ jq '.data | .foo, .bar | .[].table' foo.json或者假设您想要获取data对象的任何属性。
$ jq '.data[][].table' foo.json发布于 2018-08-06 22:39:38
如果您不关心“表”值出现在哪里,并且希望排除null和false值:
.. | .table? // empty如果要包含null和false值:
.. | objects | has("table") | .tablehttps://stackoverflow.com/questions/51709799
复制相似问题