Le format de fichier JSON est très utilisé sur le Net, notamment en développement Web pour tout ce qui concerne les échanges entre plusieurs applications (API). Sa syntaxe est relativement simple à assimiler mais lorsque l'on travaille sur un fichier contenant beaucoup de propriétés, faire des jeux d'essais devient vite barbant. Le service JSON-Generator permet de générer un fichier JSON très facilement, avec des jeux d'essais pertinents.

L'interface de JSON-Generator est scindée en plusieurs parties. A gauche, c'est le modèle (template). C'est ici que le contenu du fichier JSON va être défini, en spécifiant les règles propres à l'outil. Plusieurs fonctions prédéfinies existent, telles que firstName(), guid(), etc..
A droite se trouve le contenu généré par JSON-Generator après avoir cliqué sur le bouton Update.

Pour pouvoir modifier ou créer un fichier, vous devez créer un compte (connexion via votre compte GitHub ou Google possible).

Pour l'article, nous allons créer un fichier JSON plus simple que dans la capture ci-dessus.

Notre fichier devra contenir plusieurs informations :

  • id
  • nom, prénom
  • âge
  • email
  • date de dernière connexion
  • couleur favorite

Voici le code :

[
  {
    'repeat(5)': {
      _id: '{{objectId()}}',
      name: {
        first: '{{firstName()}}',
        last: '{{surname().toUpperCase()}}'
      },
      age: '{{integer(20, 100)}}',
      email: function (tags) {
        return (this.name.first + '.' + this.name.last + '@' + tags.company() + tags.domainZone()).toLowerCase();
      },
      lastConnect: '{{moment(this.date(new Date(2016, 0, 1), new Date())).format("MMMM Do YYYY, h:mm:ss a")}}',
      favoriteColor: '{{random("blue", "green", "yellow", "red")}}'
    }
  }
]

Quelques explications :

  • repeat(5) : créé 5 objets JSON
  • age : choisi au hasard entre 20 et 100
  • email : l'email est généré à partir du prénom, nom suivi d'une société et d'un nom de domaine
  • lastConnect : utilise le script Moment.js pour le format de sortie
  • favoriteColor : choisi une couleur au hasard parmi celles présentes

Après avoir cliqué sur le bouton Update, vous devez avoir ce résultat :

Je n'ai pas inventé les fonctions (integer(), random(), firstName(), ...), elles sont toutes décrites dans la documentation (bouton Help) :

Vous avez la possibilité de partager votre template via le bouton Share :

JSON-Generator est un excellent outil pour préparer des jeux d'essais cohérents, sans perdre trop de temps à les écrire. Cependant, il n'y a pas de gestion de locale. Les données telles que le téléphone notamment ne sont pas internationalisées.