Aller au contenu
4all.tools

Rechercher des clés et des valeurs dans JSON

Trouvez du texte littéral dans les clés et valeurs primitives de JSON strict, copiez le chemin ou localisez la valeur originale dans votre navigateur.

Espace de travail de l’outil

Recherche dans JSON

Activez JavaScript pour rechercher localement dans votre navigateur.

Recherche les clés décodées et les valeurs primitives. Texte entier signifie égalité textuelle : 1 diffère de 1.0 et de 1e0. Les espaces, guillemets et sauts de ligne de la requête sont littéraux. Ignorer la casse utilise les minuscules JavaScript sans retirer les accents ni normaliser Unicode. Les regex et JSONPath ne sont pas interprétés.

Entrée : 1 000 000 unités UTF-16 ; fichier : 4 000 000 octets ; requête : 1 000 unités ; profondeur : 200 ; nœuds : 100 000 ; résultats : 1 000 ; lignes par page : 50.

Options de recherche

Budget de texte : 5 000 000 unités UTF-16 ; chaque chemin : 10 000 ; chemins retenus : 2 000 000. Analyse : 1 000 000 unités de travail ; index : 100 000 visites ; recherche : 100 000 visites. Délai de recherche : 15 000 ms ; page/navigation : 3 000 ms. Texte et chemins peuvent épuiser un budget même si la taille et les nœuds respectent les limites.

Le JSON, la requête et les résultats restent dans cet onglet. Rien n’est envoyé ni enregistré.

Charger un exemple
{
  "name": "Ana",
  "nickname": "Anabel",
  "Ana": "Ana",
  "active": true,
  "note": null,
  "items": [
    { "name": "ANA", "price": 1.0 },
    { "a.b": "banana", "empty": {} }
  ]
}

L’exemple avec « Ana » et les options initiales trouve $.name, $.nickname et $.Ana. Chargez-le, puis cliquez sur Rechercher.

Options de recherche

Prêt à rechercher.

    Rechercher un texte littéral par une action explicite

    Collez du JSON strict ou ouvrez un fichier .json UTF-8. Saisissez le texte littéral et cliquez sur Rechercher. Les options initiales recherchent clés et valeurs, en texte partiel, en respectant la casse. Espaces, tabulations, sauts de ligne, guillemets, barres inverses et caractères de regex sont des données : la requête n’est pas rognée, décodée comme JSON ni interprétée comme regex, jokers ou JSONPath. Une requête vide est rejetée ; un espace est valide.

    Clés et chaînes sont recherchées après décodage des échappements JSON. Les valeurs recherchables sont les chaînes, nombres, booléens et null. Objets et tableaux sont parcourus sans rechercher leur représentation sérialisée ; la clé d’un conteneur peut correspondre. Les indices de tableaux et parties des chemins ne sont pas des clés recherchables. Les racines primitives sont valides avec le chemin $ ; les conteneurs vides donnent une recherche réussie sans correspondance.

    Essayer l’exemple commun

    {
      "name": "Ana",
      "nickname": "Anabel",
      "Ana": "Ana",
      "active": true,
      "note": null,
      "items": [
        { "name": "ANA", "price": 1.0 },
        { "a.b": "banana", "empty": {} }
      ]
    }

    Charger l’exemple définit Ana et restaure les options ; cliquez ensuite sur Rechercher. Les options initiales trouvent $.name, $.nickname et $.Ana. Texte entier trouve $.name et $.Ana : Ana trouve Anabel uniquement en mode partiel. Le mode partiel sans casse ajoute $.items[0].name et $.items[1]["a.b"]. Clés/texte entier trouve seulement $.Ana ; valeurs/texte entier sans casse trouve $.name, $.Ana et $.items[0].name. La clé et la valeur de $.Ana donnent une seule ligne avec les deux indicateurs.

    Égalité textuelle, types et écriture numérique

    Rechercher null trouve null et la chaîne "null" ; chaque ligne affiche son type. Les nombres utilisent le lexème original : 1, 1.0, 1e0 et -0 sont des textes distincts. Dans l’exemple, valeurs/texte entier avec 1 ne trouve rien ; le mode partiel trouve le prix. Un entier comme 9007199254740993 est recherché sans arrondi ; l’avertissement de précision décrit l’approximation interne de JavaScript. Les nombres hors de la plage finie admise sont rejetés.

    Ignorer la casse applique toLowerCase() de JavaScript, indépendamment de la langue. Il ne retire pas les accents, ne normalise pas Unicode et n’effectue pas de case folding complet : ÁRBOL correspond à árbol, mais arbol non ; Straße diffère de STRASSE, İ de i, et É de e suivi de U+0301. Chemins et aperçus conservent l’écriture originale.

    Les résultats suivent l’ordre source, une ligne par nœud. Le bouton du chemin sélectionne la valeur entière dans l’éditeur original, même lorsque sa clé correspond. Il ne modifie pas le JSON. Le chemin et la ligne/colonne sont affichés ; Retour au résultat restaure le focus. Copier le chemin copie le texte complet, avec copie manuelle si le presse-papiers échoue. Les aperçus raccourcis de clé/valeur ont leurs propres indicateurs.

    Au plus 1 000 résultats sont retenus, en pages de 50. Exactement 1 000 est un total complet si le parcours se termine ; une 1 001e correspondance produit « au moins 1 001 », avec total exact inconnu. Seuls les résultats retenus sont paginés. JSON invalide, clés décodées en double comme {"a":1,"\u0061":2} ou budget strict épuisé ne donnent aucune liste ; ils diffèrent de zéro correspondance. JSONC, JSON5, réparation et remplacement ne sont pas pris en charge.

    Fichier : 4 000 000 octets ; entrée originale : 1 000 000 unités UTF-16 ; requête : 1 000 ; profondeur de conteneurs : 200 ; nœuds : 100 000. Le texte comparé a un budget de 5 000 000 unités, chaque chemin de 10 000 et les chemins retenus de 2 000 000. Ils peuvent s’épuiser avant taille/nœuds. Recherche : 15 secondes ; page/navigation : 3 secondes. Un BOM initial est ignoré avec avertissement ; la navigation préserve les intervalles originaux.

    Tout est traité localement en mémoire. Fichier et copie demandent des actions explicites ; rien n’est envoyé ni stocké dans les URL ou le stockage du navigateur. Modifier entrée, requête ou options, charger un fichier/exemple ou effacer retire les anciens résultats. Annuler conserve entrée et options. JavaScript et les Workers locaux sont nécessaires. Les outils associés s’ouvrent normalement sans transfert du document.