es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Asignar análisis JSON parseado con jq a una variable en un script de bash.

He estado intentando asignar la salida recibida de la variable de entorno PROJECT_DETAILS.

PROJECT_NAME="FRONTEND"

echo $PROJECT_DETAILS | jq ".$PROJECT_NAME.PATH"    # funciona

OUTPUT=$PROJECT_DETAILS | jq ".$PROJECT_NAME.PATH"  # no funciona
echo $OUTPUT                                        # vacío

Quizás esta sea una operación asincrónica de análisis y tarda tiempo. ¿Cómo se puede manejar esto?

Estoy intentando acceder a otras propiedades de la salida con una sola variable declarada.


Solucionado usando:

OUTPUT=$(echo $PROJECT_DETAILS  |  jq ".$PROJECT_NAME")  # funciona

En JavaScript accedemos a las propiedades JSON así:

OUTPUT={name: 'John', address: {street: 'svl'}}

OUTPUT.address.street

¿Podemos hacer algo similar con la variable OUTPUT anterior?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Dado que la variable OUTPUT es un objeto JSON, puedes acceder a sus propiedades en bash utilizando jq. Por ejemplo, para acceder a la propiedad address.street de la variable OUTPUT, puedes usar el siguiente comando:

    echo $OUTPUT | jq '.address.street'
    

    Esto mostrará el valor de la propiedad street del objeto address en la variable OUTPUT. Puedes reemplazar .address.street por cualquier otra ruta de propiedad para acceder a su valor.

Comments are closed.