resueltos programacion leer ejercicios caracteres cadena json jq

json - programacion - jq: no se puede indexar una matriz con una cadena



ejercicios resueltos de matlab programacion pdf (1)

Debería ser:

jq ''.[].aux[].def'' file.json

.[] itera sobre la matriz externa, .aux[] luego itera sobre la matriz aux de cada nodo y .def imprime su propiedad .def .

Esto dará como resultado:

"I want this"

Si desea deshacerse de las comillas dobles, pase -r ( --raw ) a jq :

jq -r ''.[].aux[].def'' file.json

Salida:

I want this

Tengo lo siguiente en un archivo (al que llamaré "myfile"):

[{ "id": 123, "name": "John", "aux": [{ "abc": "random", "def": "I want this" }], "blah": 23.11 }]

Puedo analizarlo sin el [ y ] siguiente manera:

$ cat myfile | jq -r ''.aux[] | .def'' I want this $

pero con el [ y ] obtengo:

$ cat myfile | jq -r ''.aux[] | .def'' jq: error: Cannot index array with string

¿Cómo puedo lidiar con [ y ] usando jq? (Estoy seguro de que podría analizarlos con una herramienta diferente, pero quiero aprender el uso correcto de jq.