Bac à sable jq
Collez du JSON, écrivez un filtre jq et voyez le résultat instantanément. Exécute le vrai jq compilé en WebAssembly, entièrement dans votre navigateur.
Votre JSON est traité localement par jq s’exécutant en WebAssembly dans votre navigateur et n’est jamais téléversé, mais évitez de coller des secrets ou des données de production dans tout outil.
Besoin d’un JSONPath plutôt que de jq ? Essayez l’Évaluateur JSONPath.
À propos de Bac à sable jq
Ce bac à sable jq vous permet d’exécuter des filtres jq sur du JSON sans rien installer. Collez un document JSON, saisissez une expression telle que .users | map(.name), .[] | select(.active) ou group_by(.type), et le résultat apparaît au fil de la frappe. C’est le vrai jq 1.8.2 compilé en WebAssembly, donc les mêmes filtres, fonctions et syntaxe de pipe que vous utilisez en ligne de commande fonctionnent ici, y compris map, select, sort_by, group_by, to_entries et l’interpolation de chaînes. Activez la sortie brute (-r) pour retirer les guillemets des résultats de chaîne, ou la sortie compacte (-c) pour mettre chaque valeur sur une ligne. Les erreurs de compilation et d’exécution de jq sont affichées pour que vous corrigiez un filtre rapidement. Comme jq s’exécute en WebAssembly dans la page, le JSON que vous collez est traité localement sur votre appareil et n’est jamais téléversé vers un serveur.
Fonctionnalités
- Exécute le vrai jq 1.8.2 compilé en WebAssembly, pas une réimplémentation partielle
- Résultats en direct sur changement temporisé, plus un bouton Exécuter et Cmd/Ctrl+Entrée
- Bascule de sortie brute (-r) pour émettre des chaînes sans guillemets
- Bascule de sortie compacte (-c) pour une valeur par ligne
- Erreurs claires de compilation et d’exécution jq remontées depuis stderr
- Filtres d’exemple cliquables (map, select, group_by, length, sort) qui remplissent la requête
- Copiez la sortie en un clic
- Le WASM ne se charge qu’à votre premier filtre, puis reste prêt
Comment utiliser Bac à sable jq
- Collez ou saisissez votre JSON dans la zone JSON.
- Écrivez un filtre jq dans la zone de filtre, par exemple .users | map(.name).
- Regardez la sortie se mettre à jour, ou appuyez sur Exécuter / Cmd+Entrée pour évaluer immédiatement.
- Activez la sortie brute (-r) ou compacte (-c) si vous avez besoin d’un autre formatage.
- Cliquez sur Copier pour récupérer le résultat.
Exemple
Entrée
{
"users": [
{ "name": "Ada", "active": true },
{ "name": "Linus", "active": false }
]
}
Sortie
[
"Ada"
]
Le filtre .users | map(select(.active)) | map(.name) ne garde que les utilisateurs actifs et renvoie leurs noms.
Erreurs courantes et dépannage
- jq signale une erreur de syntaxe comme « Unexpected end of input » ou « unexpected token ». — Vérifiez le filtre pour un crochet ou un pipe déséquilibré, par exemple .[ devrait être .[] ou .[0] ; jq analyse toute l’expression avant de l’exécuter.
- « Cannot iterate over null » ou « Cannot index ... with ... ». — Le chemin n’existe pas sur vos données. Utilisez un accès optionnel comme .users[]? ou .field // empty, et confirmez que les noms de clé correspondent à votre JSON.
- La sortie chaîne a encore des guillemets autour. — C’est une sortie JSON normale. Activez la sortie brute (-r) pour émettre la chaîne sans guillemets, ce qui est généralement ce que vous voulez en redirigeant vers un shell.
- La sortie est vide alors que le filtre semble correct. — Votre filtre n’a peut-être produit aucune valeur (par exemple un select qui n’a rien retenu). Essayez d’abord le filtre identité . pour confirmer que le JSON s’analyse, puis affinez.
Foire aux questions
- Est-ce que cela exécute le vrai jq ?
- Oui. Il exécute jq compilé en WebAssembly, c’est donc le véritable moteur jq, pas une réimplémentation JavaScript. Les filtres, fonctions intégrées et la sémantique des pipes correspondent au jq que vous exécutez dans un terminal.
- Quelle version de jq est prise en charge ?
- jq 1.8.2, via le build jq-wasm. Les fonctions et la syntaxe disponibles dans jq 1.8 — comme group_by, to_entries, ltrimstr et l’interpolation de chaînes avec \(...) — fonctionnent ici.
- Que font les bascules brute (-r) et compacte (-c) ?
- La sortie brute (-r) affiche les résultats de chaîne sans les guillemets qui les entourent, comme le drapeau -r de jq. La sortie compacte (-c) affiche chaque valeur JSON sur une seule ligne au lieu de l’embellir, comme le drapeau -c de jq.
- Mon JSON est-il téléversé quelque part ?
- Non. jq s’exécute en WebAssembly dans cette page, le JSON que vous collez et le filtre que vous écrivez sont donc évalués localement sur votre appareil et ne sont pas envoyés à un serveur.
- Pourquoi la première exécution est-elle un peu plus lente ?
- Le module WebAssembly de jq est téléchargé et initialisé la première fois que vous exécutez un filtre, d’où le bref état de chargement. Ensuite, il reste en mémoire et les exécutions suivantes sont rapides.
- Puis-je exécuter des filtres avec select, map et group_by ?
- Oui. Des expressions comme .[] | select(.active), .users | map(.name) et group_by(.type) fonctionnent toutes, ainsi que le reste des fonctions de filtrage, de transformation et d’agrégation de jq.
Outils associés
- Formateur JSON — Embellit, minifie et valide le JSON avec la localisation des erreurs.
- Évaluateur JSONPath — Testez une expression JSONPath sur votre JSON et voyez les correspondances en direct.
- Visionneuse JSON — Visionneuse texte et arbre repliable avec développer/réduire et chemins de nœuds.
- JSON Flatten / Unflatten — Aplatissez du JSON imbriqué en clés à notation pointée, ou reconstruisez-le.
- JSON Diff — Comparez deux documents JSON et obtenez un diff structurel des modifications.
- YAML ↔ JSON — Convertit du YAML en JSON et inversement.
Tous les outils ArrayKit