I have the JSON as at bottom. If I send it to jq '.a[].b I get
[
"x1",
"x2"
]
[
"y1",
"y2"
]
How do I instead get line-by-line output, no brackets, quotes, or commas, like this:
x1
x2
y1
y2
The input JSON is:
{
"a": [
{
"b": [
"x1",
"x2"
],
"z": "z"
},
{
"b": [
"y1",
"y2"
],
"w": "w"
}
]
}
CodePudding user response:
Do the same thing with each b that you did with each a. Use the -r option to get the raw text, rather than JSON string values.
% jq -r '.a[].b[]' tmp.json
x1
x2
y1
y2
That is, .b outputs the list; .b[] outputs each element of the list.
