Bac à sable jq
jq Playground
Exécute des filtres jq 1.7 sur du JSON collé, directement dans le navigateur, avec un aide-mémoire et la ligne de commande correspondante.
Exécute des filtres jq sur un document dans le navigateur — un véritable interpréteur de la grammaire de jq 1.7 plutôt que quelques opérations sur les chaînes : les tubes, `reduce`, `def`, la déstructuration et les opérateurs de mise à jour se comportent donc comme en ligne de commande. La commande shell équivalente est imprimée sous le filtre.
Filtre
jq '.orders[] | select(.status == "shipped") | {id, customer}' data.json
JSON en entrée
Déposez un fichier .json
Lu dans cet onglet seulement. Rien n’est envoyé.
1 sortie
Sorties
1
Temps
<1 ms
Types
object
Un interpréteur de la grammaire jq 1.7, écrit ici. Il gère les chemins (.a[0].b, .., ?), |·,·//, l’arithmétique, les comparaisons, and/or/not, l’interpolation de chaînes, if, try, reduce, foreach, as (déstructuration comprise), def, les mises à jour comme |=·+=, les formats comme @base64·@csv, et les 180 fonctions intégrées ci-dessous. Les tests sont les exemples du manuel de jq lui-même.
Non pris en charge : input·inputs (il n’y a qu’un seul document), $ENV·env (vide), label·break, --stream, les tableaux imbriqués dans @sh, les formats autres qu’ISO 8601 dans strptime, le mode flux de getpath, et les modules (import). Les expressions régulières tournent sur le moteur du navigateur et non sur l’Oniguruma de jq, donc \p{L} et les groupes nommés fonctionnent, et il peut y avoir de subtiles différences autour du lookbehind.
Si tout ce que vous voulez est un seul chemin, le Testeur JSONPath est peut-être plus simple.
Comment s’en servir
Collez le document
Une valeur JSON, ou plusieurs à la suite — l'outil les lit comme un flux d'entrée jq, et leur nombre est indiqué dans le titre du panneau.
Écrivez le filtre, ou prenez-en un dans la rangée d'exemples
Les boutons couvrent les formes qui reviennent : select, map, group_by, l'interpolation de chaînes, reduce et les opérateurs de mise à jour. Survoler l'un d'eux dit ce qu'il fait.
Réglez les options que vous utiliseriez en ligne de commande
`-c` pour une ligne par sortie, `-S` pour trier les clés, `-r` pour des chaînes sans guillemets, `-s` pour aspirer plusieurs entrées dans un seul tableau. La ligne de commande en bas se met à jour avec elles.
Copiez la commande, pas seulement la sortie
La ligne `jq …` générée est correctement citée pour un shell POSIX : elle peut aller telle quelle dans un script ou un pipeline.
Questions fréquentes
Est-ce vraiment jq ?
C'est un interpréteur indépendant de la grammaire de jq, testé contre les exemples du manuel de jq lui-même. Cela couvre le langage et les fonctions intégrées courantes ; ce n'est pas une compilation de jq lui-même, donc tout ce qui dépend des entrailles C de jq différera.
Pourquoi `input` ne marche-t-il pas ?
Parce qu'il y a ici un document, pas un flux dans lequel un filtre peut aller en tirer d'autres. `input`, `inputs`, `$ENV`, `env`, `label`/`break`, `--stream` et les modules sont tous listés comme non pris en charge sur la page, plutôt que d'échouer mystérieusement.
Mon expression régulière ne se comporte pas comme celle de jq.
jq utilise Oniguruma ; ceci utilise le moteur du navigateur. En pratique, `\p{L}` et les groupes nommés fonctionnent dans les deux, et les différences apparaissent autour du lookbehind et de quelques échappements de classes de caractères. Si un motif compte, testez-le sur la machine qui l'exécutera.
Il s'est arrêté à 5 000 sorties.
Une limite délibérée, doublée d'une limite de pas. `..` sur un gros document produit une sortie énorme, et un filtre parti en récursion folle figerait sinon l'onglet. Resserrez le filtre, ou exécutez-le en ligne de commande, là où vous pouvez le passer à `head`.
À alimenter depuis
Convertisseur JSON Lines
JSON Lines Converter
Convertit entre NDJSON et tableau JSON, et signale par son numéro chaque ligne qui ne s’analyse pas au lieu d’arrêter la conversion.
Testeur JSONPath
JSONPath Tester
Exécute une expression JSONPath sur un document et met en évidence les nœuds trouvés au fil de la saisie.
Formateur et validateur JSON
JSON Formatter & Validator
Met en forme, minifie et valide du JSON en désignant la ligne et la colonne exactes de l’erreur de syntaxe.
Formateur et validateur YAML
YAML Formatter & Validator
Réindente le YAML de façon cohérente, le valide et signale les tabulations et les ancres qui font échouer les analyseurs.
Ensuite
Ces outils acceptent ce que celui-ci produit : le résultat peut y aller directement.
Conversion JSON ⇄ CSV
JSON ⇄ CSV
Aplatit du JSON imbriqué en colonnes ou reconstruit des objets depuis un tableau, avec un nommage des colonnes par chemin pointé.
Formateur et validateur JSON
JSON Formatter & Validator
Met en forme, minifie et valide du JSON en désignant la ligne et la colonne exactes de l’erreur de syntaxe.
Testeur JSONPath
JSONPath Tester
Exécute une expression JSONPath sur un document et met en évidence les nœuds trouvés au fil de la saisie.
Convertisseur JSON Lines
JSON Lines Converter
Convertit entre NDJSON et tableau JSON, et signale par son numéro chaque ligne qui ne s’analyse pas au lieu d’arrêter la conversion.
Encodeur et décodeur Base64
Base64 Encoder & Decoder
Encode et décode en Base64 et en Base64URL, pour du texte comme pour des fichiers, avec un traitement correct de l’UTF-8.
curl vers code
curl to Code
Traduit une commande curl en fetch, axios, requests Python, Go, PHP ou PowerShell.