Outils
Guides

Générateur de JSON fictif

JSON

Générez des données JSON fictives avec @faker-js/faker — choisissez des champs prédéfinis ou rédigez un modèle, sélectionnez une langue, et exportez en JSON ou CSV.

100 % côté client Sans backend

Les URL distantes ne sont pas récupérées ; collez votre JSON directement.

Champs prédéfinis
Sortie
Choisissez des champs ou rédigez un modèle, puis générez.
Sur cette page

Qu’est-ce qu’un générateur de JSON fictif ?#

Des données de test réalistes sont le goulot d’ennui de tout prototype. Vous voulez voir comment un tableau se rend avec cinq cents lignes, comment un formulaire se comporte avec des adresses e-mail bizarres, comment un graphique apparaît quand les nombres couvrent trois ordres de grandeur — et au lieu de cela vous passez l’après-midi à taper {"name":"test","email":"[email protected]"} encore et encore, parce que les données réelles sont privées et que vous ne pouvez pas les utiliser.

Un générateur de JSON fictif comble ce manque. Vous décrivez la forme de l’objet dont vous avez besoin — quelques types de champs, ou un modèle avec des espaces réservés — et il synthétise autant de lignes que vous le demandez, chacune différente, aucune représentant une vraie personne. La sortie est un tableau JSON que vous pouvez déposer directement dans un fichier de fixture, une base de données de démo, ou un mock de fetch.

Cette page génère de deux manières. Le mode Champs prédéfinis vous offre un menu de champs courants (nom complet, e-mail, téléphone, UUID, date, société, et d’autres) que vous cochez et décochez ; chaque ligne devient un objet avec ces champs. Le mode Modèle vous laisse rédiger un squelette JSON avec des espaces réservés {{faker.path}}, donc vous contrôlez les noms exacts des clés et l’imbrication. La sortie peut être téléchargée en JSON ou CSV pour le chemin tableur, et des données adaptées à la locale sont prises en charge afin que les noms soient justes pour le public à qui vous faites la démonstration.

Mode d’emploi#

  1. Choisissez un mode avec le commutateur de la barre d’outils :
    • Champs prédéfinis (par défaut) : une liste de types de champs apparaît à gauche. Cochez ceux que vous voulez dans chaque ligne — par exemple Nom complet, E-mail et UUID. Chaque champ a une clé par défaut fixe (name, email, uuid).
    • Modèle : une zone de texte apparaît à la place. Rédigez un objet (ou tableau) JSON dont les feuilles chaînes contiennent des espaces réservés comme {{person.fullName}} ou {{internet.email}}.
  2. Réglez la Quantité — combien de lignes générer, de 0 à 1000.
  3. Choisissez une langue pour donner le ton aux noms, villes et numéros de téléphone générés. Dix locales sont proposées, de l’anglais à 中文, 日本語, 한국어, العربية.
  4. Cliquez sur Générer. Le panneau de droite se remplit d’un tableau JSON mis en forme des lignes synthétisées.
  5. Cliquez sur Télécharger JSON ou Télécharger CSV sous la sortie pour enregistrer le résultat dans un fichier (le CSV est pratique pour charger dans un tableur ou alimenter une base de données par import).
  6. Utilisez Exemple pour charger un modèle de départ, ou Effacer pour réinitialiser.

La lourde bibliothèque de génération ne se charge que lors de votre premier clic sur Générer, donc la page s’ouvre instantanément. La génération s’exécute entièrement dans votre navigateur.

Principales fonctionnalités#

  • Deux styles de rédaction. Cochez des champs pour un démarrage rapide, ou rédigez un modèle quand vous avez besoin de clés personnalisées, d’imbrication, ou d’un mélange de texte littéral et de valeurs générées.
  • Quatorze champs prédéfinis. Noms, intitulés de poste, e-mails, noms d’utilisateur, téléphones, UUID, dates récentes, villes, pays, sociétés, URL, paragraphes et noms de couleurs — les briques courantes d’un enregistrement de démo.
  • Valeurs adaptées à la locale. Changez de langue et les données de personne et de localité suivent — utile quand la démo doit avoir un air local.
  • Les espaces réservés du modèle préservent les types. Un espace réservé qui est la valeur entière d’une feuille chaîne se résout en son type natif — donc {{date.recent}} devient une vraie chaîne de date ISO, pas un fragment entre guillemets.
  • Jusqu’à 1000 lignes. Assez pour remplir un tableau paginé ou un fixture représentatif sans submerger l’onglet.
  • Export JSON et CSV. Générez une fois, exportez pour le consommateur que vous avez — un fixture JSON ou un import tableur.
  • Local uniquement. Les données sont synthétisées dans votre navigateur ; rien de votre modèle ou de votre sortie ne quitte la page.

Exemple détaillé#

Vous avez besoin de dix enregistrements utilisateur pour une démo, chacun avec un nom, un e-mail et un identifiant unique. Laissez-le en mode Champs prédéfinis, décochez tout sauf Nom complet, E-mail et UUID, réglez Quantité sur 10, et cliquez sur Générer. La sortie est un tableau JSON dont les premières lignes ressemblent à :

[
  {
    "name": "Sara Schultz",
    "email": "[email protected]",
    "uuid": "f3a1c2b4-9d8e-4a7b-bc6e-1f2d3a4b5c6d"
  },
  {
    "name": "Derrick Watsica",
    "email": "[email protected]",
    "uuid": "b7e6d5c4-a3b2-4987-8d6e-5c4b3a2f1e09"
  }
]

Chaque ligne est différente, aucune des adresses n’est une vraie boîte aux lettres, et les UUID sont uniques. Pour une forme que les champs prédéfinis ne peuvent pas exprimer — disons un enregistrement qui mêle un rôle littéral à des champs générés — basculez en mode Modèle et rédigez :

{
  "id": "{{string.uuid}}",
  "name": "{{person.fullName}}",
  "role": "member",
  "email": "{{internet.email}}"
}

Le champ role est du texte littéral, donc chaque ligne affiche "member" ; les trois autres se résolvent en valeurs fraîchement synthétisées à chaque ligne. Réglez la quantité au nombre voulu et exportez.

FAQ#

Les adresses e-mail sont-elles de vraies boîtes auxquelles je peux écrire ?#

Non. Chaque valeur est synthétisée — les noms sont des combinaisons plausibles, et les adresses e-mail suivent une forme réaliste mais ne routent vers personne. C’est tout l’intérêt : vous obtenez des données qui ressemblent à des données de production pour tester la mise en page, la validation et le tri, sans toucher à la boîte aux lettres d’une vraie personne.

Puis-je rendre les données locales à un pays précis ?#

Oui. Le sélecteur de langue change la façon dont les noms, villes et numéros de téléphone sont générés. Choisissez 中文(简体) et les noms deviennent chinois ; choisissez 日本語 et ils deviennent japonais. Cela compte quand une démo doit paraître authentique à son public.

En mode modèle, pourquoi {{date.recent}} apparaît-il comme une chaîne ISO sans guillemets autour de la logique de date ?#

Quand un espace réservé est la valeur entière d’une feuille chaîne, il se résout en la valeur de retour native du générateur plutôt que d’être interpolé comme du texte. Un appel de date récente renvoie un vrai objet date, qui se sérialise ensuite comme une chaîne ISO dans le JSON de sortie. Si vous voulez l’intégrer dans un texte environnant, placez des caractères littéraux autour — "expédié le {{date.recent}}" — et il sera intégré à la phrase sous forme de chaîne.

Combien de lignes peut-il générer à la fois ?#

Jusqu’à mille. C’est assez pour remplir un tableau paginé, alimenter un fichier de fixture ou peupler une base de données de test par import CSV. Au-delà, générez par lots ou adressez-vous à un alimenteur de base de données dédié.

Les données générées sont-elles reproductibles ?#

Chaque clic sur Générer produit un jeu aléatoire frais — c’est ce que vous voulez quand vous traquez des cas limites dans une interface. Les valeurs ne sont pas épinglées à une graine dans cette page, donc ne traitez pas une sortie spécifique comme quelque chose que vous pourrez recréer octet pour octet plus tard ; enregistrez la sortie dans un fichier de fixture si vous devez reproduire un jeu de données précis.