jq: Impossible d'indexer le tableau avec une chaîne
J'ai le texte suivant dans un fichier (que j'appellerai "monfichier"):
[{
"id": 123,
"name": "John",
"aux": [{
"abc": "random",
"def": "I want this"
}],
"blah": 23.11
}]
Je peut l'analyser sans la [
et ]
comme suit:
$ cat myfile | jq -r '.aux[] | .def'
I want this
$
mais avec le [
et ]
j'obtiens:
$ cat myfile | jq -r '.aux[] | .def'
jq: error: Cannot index array with string
Comment puis-je traiter avec les [
et ]
à l'aide de jq? (Je suis sûr que je pourrais analyser avec un autre outil, mais je veux apprendre l'utilisation correcte de jq.
source d'informationauteur Xu Wang
Vous devez vous connecter pour publier un commentaire.
Il devrait être:
.[]
itère sur l'extérieur de la matrice de,.aux[]
puis parcourt la laaux
tableau de chaque nœud et.def
imprime leur.def
propriété.Ce sera de sortie:
Si vous voulez vous débarrasser de guillemets doubles passer
-r
(--raw
) àjq
:De sortie: