I’m trying to parse a JSON file that look like this:
[
{
"date":"date1",
"results":
[
{
"field1":"string11",
"field2":"string12",
"field3":"string13",
},
{
"field1":"string21",
"field2":"string22",
"field3":"string23",
}
]
},
{
"date":"date2",
"results":
[
{
"field1":"string11",
"field2":"string12",
"field3":"string13",
},
{
"field1":"string21",
"field2":"string22",
"field3":"string23",
}
]
}
]
and I would like an output like this:
08/05/2024,string11,string12,string13
08/05/2024,string21,string22,string23
09/05/2024,string11,string12,string13
09/05/2024,string21,string22,string23
I tried:
jq -Mr ‘.. | objects | select(has(“field1”)) | [.field1, .field2, .field3,] | @csv’ file.json
and got:
string11,string12,string13
string21,string22,string23
string11,string12,string13
string21,string22,string23
and tried:
jq -r ‘.[] | [.date, .results[].field1, .results[].field2, .results[].field3] | @csv’ file.json
and got only the first line:
date1,string11,string12,string13
date2,string11,string12,string13
and I would like to have:
date1,string11,string12,string13
date1,string21,string22,string23
date2,string11,string12,string13
date2,string21,string22,string23