Agradecemos tu apoyo para extender nuestras secciones referente a las ciencias informáticas.
Sugeriría usar un bash aquí string. p.ej
jq '.key' <<< "$json_data"
El valor de la variable "json_data" que se proporcionó en la pregunta original no era JSON válido, por lo que esta respuesta aún cubre ambos casos (JSON válido y casi válido).
JSON válido
Si "$json_data" tiene un valor JSON válido, aquí hay dos alternativas que no se mencionan en ninguna otra parte de esta página.
--argjson
Por ejemplo:
jq -n --argjson data "$json_data" '$data.key'
env
Si la variable de shell no es ya una variable de entorno:
json_data="$json_data" jq -n 'env.json_data | fromjson.key'
JSON casi válido
Si de hecho $json_data es inválido como JSON pero válido como una expresión jq, entonces podría adoptar la táctica ilustrada por la siguiente transcripción:
$ json_data='key:"value"'
$ jq -n "$json_data" | jq .key
"value"
Usa el bash: echo "$json_data" | jq '.key'
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)