I'm trying to get jq
to parse a JSON structure like:
{
"a" : 1,
"b" : 2,
"c" : "{\"id\":\"9ee ...\",\"parent\":\"abc...\"}\n"
}
That is, an element in the JSON is a string with escaped json.
So, I have something along the lines of
$ jq [.c] myFile.json | jq [.id]
But that crashes with jq: error: Cannot index string with string
This is because the output of .c is a string, not more JSON. How do I get jq to parse this string?
My initial solution is to use sed to replace all the escape chars (\":\"
, \",\"
and \"
) but that's messy, I assume there's a way built into jq
to do this?
Thanks!
edit: Also, the jq version available here is:
$ jq --version
jq version 1.3
I guess I could update it if required.