Saltar al contenido

¿Puedo pasar un string variable a jq no el archivo?

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)


Tags :

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *