Я пытаюсь заставить jq
анализировать структуру JSON, например:
{
"a" : 1,
"b" : 2,
"c" : "{\"id\":\"9ee ...\",\"parent\":\"abc...\"}\n"
}
То есть элемент в JSON — это строка с экранированным json.
Итак, у меня есть что-то вроде $ jq [.c] myFile.json | jq [.id]
Но это вылетает с jq: error: Cannot index string with string
Это связано с тем, что вывод .c представляет собой строку, а не JSON. Как заставить jq анализировать эту строку?
Мое первоначальное решение состоит в том, чтобы использовать sed для замены всех escape-символов (\":\"
, \",\"
и \"
), но это беспорядочно, я предполагаю, что для этого есть встроенный в jq
способ?
Спасибо!
edit: Кроме того, версия jq доступна здесь:
$ jq --version
jq version 1.3
Я думаю, что я мог бы обновить его, если это необходимо.