Tous les produits
Search
Centre de documentation

Resource Orchestration Service:Fn::Jq

Dernière mise à jour :Aug 10, 2026

La fonction Fn::Jq utilise la syntaxe jq pour filtrer les valeurs d'une chaîne JSON.

Déclaration

  • JSON

    {
      "Fn::Jq": [
        method,
        script,
        object
      ]
    }
  • YAML

    • Syntaxe du nom complet de la fonction :

      Fn::Jq: method,script,object
    • Syntaxe de la forme abrégée :

      !Jq [method,script,object]

Paramètres

  • method : Obligatoire. Chaîne.

    Valeurs acceptées :

    • First : première valeur correspondant au filtre

    • All : toutes les valeurs correspondant au filtre

  • script : Obligatoire. Chaîne. Script jq servant de filtre pour la chaîne JSON. Pour plus d'informations sur jq, consultez le Manuel jq (version de développement).

  • object : Obligatoire. Chaîne JSON à filtrer.

Valeur renvoyée

Les valeurs filtrées extraites de la chaîne JSON.

Exemples

Filtre unique

Cet exemple renvoie la première valeur correspondant au filtre .test. La valeur associée à la clé test dans la chaîne JSON est renvoyée. Si cette valeur n'existe pas, la fonction renvoie null.

!Jq
  - First
  - .test
  - '{"test":"test"}'

Résultat :

test

Filtres multiples

Remarque

Séparez les filtres par des barres verticales (|).

Dans cet exemple, la sortie du filtre .parameters[] est transmise à un second filtre via une barre verticale (|). Le filtre .parameters[] extrait chaque élément du tableau parameters, et le second filtre {"param_name": .name, "param_type":.type} restructure chaque élément en un objet contenant les clés param_name et param_type. Si aucune valeur ne correspond, la fonction renvoie null.

!Jq
  - All
  - '.parameters[] | {"param_name": .name, "param_type":.type}'
  - changeSet:
      items: []
      kind: git
    id: 2013-12-27_00-09-37
    parameters:
      - name: PKG_TAG_NAME
        value: trunk
      - name: GIT_COMMIT
        value: master
      - name: TRIGGERED_JOB
        value: trunk-buildall

Résultat :

- param_name: PKG_TAG_NAME
- param_name: GIT_COMMIT
- param_name: TRIGGERED_JOB