I have the following JSON data:
{"id":"111","case":"Y","custom":{"speech invoked":"no","input method":"hard","session ID":"420"}}
How can I convert it to CSV format using jq so my result looks like this?
id,case,session Id,speech invoked,input method
111,Y,420,no,hard
I tried the following, but it didn't work:
{(.id),(.case),(.custom."session Id"),(.custom."speech invoked"),(.custom."input method")}
If not possible any perl or shell solution is appreciated.
Building upon Joe Harris' answer, you can use the @csv filter so that strings are properly quoted and escaped when necessary :
jq -r '[.case, .custom."speech invoked", .custom."input method"] | @csv'