Skip to content

Tool made in Dart that allows you to dynamically generate JSON files from data models written in Dart.

Notifications You must be signed in to change notification settings

devjoi2018/dart_json_generator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dart JSON Generator

Versión v1.1.1

Dart JSON Generator es una herramienta que permite generar archivos JSON a partir de mapas como modelos de datos en el lenguaje Dart en su version v2.18.2 o superior.

¿Como funciona?

Primero debes instalar el SDK de Dart en tu equipo Mac, Linux o Windows. Puedes descargarlo desde aquí.

Nota: Si eres desarrollador Flutter, Dart ya viene instalado en tu equipo.

Luego de instalar Dart, en la terminal de tu IDE de preferencia, debes ejecutar el siguiente comando:

> dart run

Crear modelos de datos

Para crear un modelo de datos debes hacerlo dentro del archivo principal bin/generador_de_json.dart, puedes llamar al metodo generateJson.generateJson() y en su parametro jsonMap debes pasarle un mapa con los datos que deseas convertir a JSON como en el siguiente ejemplo:

generateJson.generateJson(
    jsonName: 'example',
    jsonMap: <String, dynamic>{
        ¨id¨: 1,
        ¨name¨: ¨John Doe¨,
        ¨age¨: 25,
        ¨isDeveloper¨: true,
    }
);

El parametro jsonName es el nombre del archivo JSON que se generará, en este caso el archivo se llamará example.json y se almacenara en la carpeta lib/example.json.

Para generar un archivo JSON con un array de objetos debes hacerlo de la siguiente manera:

generateJson.generateJsonList(
    jsonName: 'test_data',
    jsonMap: (data) {
      return List.generate(
        100, // Cantidad de objetos que se generaran
        (index) => <String, dynamic>{
          'id': index,
          'name': util.generateRandomFemaleOrMaleName(),
          'lastName': util.generateRandomLastName(),
          'email': util.generateRandomEmail(),
          'avatar': util.generateRandomAvatarUrl(),
          'phone': util.generateRandomPhoneNumber(),
          'isShared': util.generateRandomBool(),
        },
      );
    },
  );

En este ejemplo se generará un archivo JSON con 100 objetos con los datos de una persona, también en el ejemplo se esta haciendo uso de la instancia util que es una clase que contiene metodos preestablecidos que generan datos aleatorios como nombres, apellidos, correos, etc.

Si quieres generar tus propios metodos preestablecidos puedes hacerlo editando el archivo lib/utils/all_utils.dart.

Algunos de los metodos preestablecidos de los que puedes hacer uso son:

  • generateRandomBool()
    • Genera un valor booleano aleatorio.
  • generateRandomMaleName()
    • Genera un nombre masculino sin apellido aleatorio, pero si el parametro isFullName es true genera un nombre completo.
  • generateRandomFemaleName()
    • Genera un nombre femenino sin apellido aleatorio, pero si el parametro isFullName es true genera un nombre completo.
  • generateRandomFemaleOrMaleName()
    • Genera un nombre aleatorio masculino o femenino sin apellido, pero si el parametro isFullName es true genera un nombre completo.
  • generateRandomEmail()
    • Genera un correo electronico aleatorio.
  • generateRandomAvatarUrl()
    • Genera una url de una imagen aleatoria masculino o femenino.
  • generateRandomMaleAvatarUrl()
    • Genera una url de una imagen masculina aleatoria.
  • generateRandomFemaleAvatarUrl()
    • Genera una url de una imagen femenina aleatoria.
  • generateRandomPhoneNumber()
    • Genera un numero de telefono aleatorio.
  • generateRandomLastName()
    • Genera un apellido aleatorio.

About

Tool made in Dart that allows you to dynamically generate JSON files from data models written in Dart.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages