Dart JSON 生成器

版本 v1.1.1

Dart JSON 生成器是一款允许您在 Dart 语言(版本v2.18.2或更高版本)中,从 **Map** 作为数据模型生成 JSON 文件的工具。

它是如何工作的?

首先,您需要在 Mac、Linux 或 Windows 计算机上安装 Dart SDK。您可以从此处下载。

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

安装 Dart 后,在您喜欢的 IDE 的终端中,您需要执行以下命令

> dart run

创建数据模型

要创建数据模型,您需要在主文件 bin/generador_de_json.dart 中进行。您可以调用 generateJson.generateJson() 方法,并在其 jsonMap 参数中传递一个 **Map**,其中包含您希望转换为 JSON 的数据,如下例所示:

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

jsonName 参数是生成 JSON 文件的名称,在本例中,文件名为 example.json,它将被存储在 lib/example.json 文件夹中。

要生成包含对象**数组**的 JSON 文件,您需要这样做:

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(),
        },
      );
    },
  );

在此示例中,将生成一个包含 100 个对象(包含一个人数据)的 JSON 文件。在此示例中,还使用了 util 实例,它是一个类,其中包含生成随机数据(如姓名、姓氏、电子邮件等)的预定义方法。

如果您想生成自己的预定义方法,可以通过编辑 lib/utils/all_utils.dart 文件来实现。

您可以使用的一些预定义方法包括:

  • generateRandomBool()
    • 生成随机布尔值。
  • generateRandomMaleName()
    • 生成随机的男性名字(不带姓氏),但如果 isFullName 参数为 true,则生成完整的名字。
  • generateRandomFemaleName()
    • 生成随机的女性名字(不带姓氏),但如果 isFullName 参数为 true,则生成完整的名字。
  • generateRandomFemaleOrMaleName()
    • 生成随机的男性或女性名字(不带姓氏),但如果 isFullName 参数为 true,则生成完整的名字。
  • generateRandomEmail()
    • 生成随机电子邮件。
  • generateRandomAvatarUrl()
    • 生成随机的男性或女性头像 URL。
  • generateRandomMaleAvatarUrl()
    • 生成随机男性头像 URL。
  • generateRandomFemaleAvatarUrl()
    • 生成随机女性头像 URL。
  • generateRandomPhoneNumber()
    • 生成随机电话号码。
  • generateRandomLastName()
    • 生成随机姓氏。

GitHub

查看 Github