我有JSON作为底部。如果发送给jq '.a[].b
,我得到
[
"x1",
"x2"
]
[
"y1",
"y2"
]
如何获得逐行输出,没有括号、引号或逗号,就像这样:
x1
x2
y1
y2
输入JSON为:
{
"a": [
{
"b": [
"x1",
"x2"
],
"z": "z"
},
{
"b": [
"y1",
"y2"
],
"w": "w"
}
]
}
对每个b
做与对每个a
所做的相同的事情。使用-r
选项获取原始文本,而不是JSON字符串值。
% jq -r '.a[].b[]' tmp.json
x1
x2
y1
y2
即.b
输出列表;.b[]
输出列表中的每个元素。
对于所示的示例,您可以尝试遵循jq
代码。使用jq
的-r
选项以原始形式发送输入。然后根据这里的要求适当地获取值。
jq -r '(.[] | .[].b)[]' Input_file
输出如下:
x1
x2
y1
y2