cClaude.rocks ☕ Le blog

[Nouvelles technologies, sciences et coups de gueule…]

Menu

jq est un processeur JSON en ligne de commande, elle permet de transformer un document JSON en un autre. Certaines options permettent de convertir depuis et vers d’autres formats.

Supprimer le tableau vide ([] ou null)

jq '[ .[] | select(length > 0) ]'

Prenons l’exemple suivant :

TEST=$( cat <<EOF | jq -c .
{
  "tableaux": [
    ["A","B","C"],
    null,
    ["E","F","G"],
    ["H","I"],
    [],
    ["K"]
  ]
}
EOF
)

La commande ici sera :

jq '.tableaux | [ .[] | select(length > 0) ]' <<<"${TEST}"


Utilisation de map(x)

La fonction map(x) est équivalent à [.[] | x], donc on peut écrire :

jq '[ .[] | select(length > 0) ]'
jq 'map(select(length > 0))'

Pour vérifier avec l’exemple plus haut :

jq '.tableaux | map(select(length > 0))' <<<"${TEST}"


Autre billets et documentations :

ᦿ


ℹ 2006 - 2022 | 🏠 Accueil du domaine | 🏡 Accueil du blog