用于生成Mock API数据的JSON生成器 | Stoplight

作者:API传播员 · 2026-01-05 · 阅读时间:5分钟
JSON生成器用于在API开发和测试中快速生成模拟数据,减少手工工作量并保护敏感信息。通过Stoplight工具,可以一次性生成大量真实感强的JSON数据或搭建模拟服务器,支持教程、API文档和集成测试等场景,提高开发效率和数据安全性。

为什么需要JSON生成器?

在开发和测试过程中,生成JSON数据可以显著减少手工工作量。但为什么需要从头开始创建JSON数据呢?可能的原因包括:

  • 您正在设计API,但尚未有实时数据。
  • 服务已经上线并返回数据,但数据中包含敏感的个人信息。

在这些情况下,您可能不希望将真实数据暴露给未经授权的人。JSON生成器的目标是生成一组看起来真实且有用的代表性数据样本。

生成的JSON数据可以用于以下场景:

  • 教程中的示例结果
  • 模拟API服务器的响应
  • API参考文档及其他技术文档
  • 集成测试的输入数据
  • 回复支持邮件时的示例数据
  • OpenAPI/Swagger定义中的示例

在实际开发中,您可能会发现同一组模拟数据被多次复制到不同的地方。虽然手动创建简单的JSON数据可能看似容易,但当数据结构复杂或需要生成大量样本时,手动创建就显得繁琐且低效。

例如,一个简单的JSON数据可能如下:

{
  "user_id": "abcdef1234ghi",
  "name": "Mock Holliday",
  "email": "mock.holliday@example.com",
  "birthdate": "1971-08-01T00:00:00+00:00"
}

但如果需要生成100个不同的样本,手动操作将变得非常耗时。


一次性生成伪JSON数据

假设您需要生成100个类似于上述示例的JSON数据,可以使用以下模板实现:

[{
  "repeat(100)": {
    "user_id": "{objectId()}",
    "name": "{firstName()} {lastName()}",
    "email": "{return ${this.name}@example${tags.domainZone()}.toLowerCase().replace(' ', '')}",
    "birthdate": "{moment(this.date(new Date(1953, 0, 1), new Date(2000, 0, 1)).format())}"
  }
}]

在这个模板中,以下字段使用了内置的数据类型和功能:

  • user_id:通过objectId()生成唯一标识符。
  • name:调用firstName()lastName()生成姓名,并在两者之间添加空格。
  • email:基于生成的姓名和随机域名(通过domainZone())构造电子邮件地址,并使用JavaScript字符串函数确保格式正确。
  • birthdate:使用Moment.js生成一个随机日期,确保用户年龄在18到65岁之间。

通过这种方式,您可以快速生成一组真实感较强的JSON数据,避免泄露任何个人信息。这种方法特别适合生成一次性的大型JSON数据文件。


使用模拟服务器生成随机JSON数据

当实时数据不可用或不可靠时,模拟API服务器是开发和测试的有力工具。模拟服务器可以模仿真实API服务器的行为,通过实时响应来满足开发需求。

使用Stoplight创建模拟服务器

  1. 登录Stoplight并创建或导入API

    如果您已有OpenAPI描述文件,可以直接导入。如果没有,可以从头开始创建。

  2. 创建用户模型

    • 点击Modeling旁边的“+”按钮,创建一个新的OpenAPI文档。
    • 添加一个用户模型,定义字段如user_idnameemailbirthdate
    • 为字段添加验证规则,例如确保email字段符合电子邮件格式
  3. 添加API路径

    • 点击路径旁边的“+”按钮,添加一个/users端点。
    • 创建一个操作ID,例如GET_users
    • 在路径的返回类型中选择array,并将数组项类型设置为引用之前创建的用户模型。
  4. 连接模拟服务器

    • 点击服务器旁边的“+”按钮,创建一个API,并将OpenAPI文档连接到该API
    • 创建规则,将模拟服务器的流量连接到您的API。
  5. 测试模拟服务器

    • 返回主页,向/users端点发送测试请求。
    • 获取模拟服务器的URL,并通过代码或其他API测试工具调用它。

通过上述步骤,您可以快速搭建一个支持动态响应的模拟服务器,用于开发和测试。


总结

JSON生成器和模拟服务器是数据安全性。

通过Stoplight,您可以轻松创建和管理模拟服务器,生成随机JSON数据,并将其应用于各种开发场景。尝试将这些工具融入您的开发流程,提升团队的生产力和协作效率。

原文链接: https://blog.stoplight.io/mock-json-generator