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

Comment utiliser Bac à sable jq

  1. Collez ou saisissez votre JSON dans la zone JSON.
  2. Écrivez un filtre jq dans la zone de filtre, par exemple .users | map(.name).
  3. Regardez la sortie se mettre à jour, ou appuyez sur Exécuter / Cmd+Entrée pour évaluer immédiatement.
  4. Activez la sortie brute (-r) ou compacte (-c) si vous avez besoin d’un autre formatage.
  5. 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

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

Tous les outils ArrayKit