JSON 转 Ruby 生成器

JSON 输入

正在加载编辑器…

生成的 Ruby

Configuration

输入 JSON 数据以生成 Ruby 类

具有框架支持的优雅 Ruby 类

如何将 JSON 转换为 Ruby – 分步指南

使用此 JSON 转 Ruby 生成器,可从 JSON 示例生成 Ruby 类/结构,适用于 Rails 与 Ruby 服务。

  1. 步骤 1 – 粘贴 JSON 示例

    • 将具有代表性的 JSON 对象或数组粘贴到左侧编辑器中。
    • 尽量包含嵌套对象、数组和可为 null 的字段,方便正确推断类型。
    • 使用 导入 从文件、URL 或示例数据加载 JSON。
  2. 步骤 2 – 选择 Ruby 模型选项

    • 选择根 类名,并决定使用普通类还是 Struct 风格对象。
    • 确认可选字段的处理方式(nil)。
    • 检查嵌套对象是否拆分为嵌套 Ruby 类,便于复用与维护。
  3. 步骤 3 – 检查生成的代码

    • 确认字段命名、类型推断,以及数组/对象的映射方式是否符合预期。
    • 根据需要调整 根类型名称、空值处理策略以及可选的框架选项。
    • 如果某些字段推断不准确,优化示例 JSON 后重新生成。
  4. 步骤 4 – 在 Ruby 中使用模型

    • 将类复制到应用中(例如 app/modelslib)。
    • 解析 JSON,将 hash 映射为模型对象。
    • 在业务逻辑依赖前校验必需字段与关键键。
  5. 步骤 5 – 复制或下载

    • 将输出复制到项目中,或下载为文件。
    • 运行格式化/代码检查工具,让代码风格与项目保持一致。
    • 若目标语言需要序列化/解析库,请在项目中添加相应依赖。

快速提示

  • 初始化尽量显式,减少 silent nil 带来的问题。
  • 嵌套对象优先用独立类型表达,而不是随处使用 hash。
  • 需要跨服务共享契约时,建议生成 JSON Schema。
示例输出(简化)
# JSON 输入
{
  "id": 123,
  "name": "Maeve Winters",
  "email": "[email protected]",
  "active": true,
  "roles": ["admin", "editor"],
  "metadata": { "plan": "pro" },
  "createdAt": "2024-03-01T10:15:00Z",
  "score": 99.5,
  "notes": null
}

# 生成的 Ruby 模型(简化)
class Metadata
  attr_accessor :plan
end

class Root
  attr_accessor :id, :name, :email, :active, :roles, :metadata, :createdAt, :score, :notes
end

相关 JSON 与 Ruby 工具

探索更多可与本 JSON 转 Ruby 生成器配合使用的 JSON 与 Schema 工具。

常见问题

支持哪些 Ruby 特性?

生成器创建具有 attr_accessor 方法的 Ruby 类,支持 ActiveModel 序列化,并遵循具有适当模块结构的 Ruby 命名约定。

可以生成与 ActiveModel 兼容的类吗?

可以!选择 'ActiveModel' 作为框架可以生成具有 ActiveModel::Serialization 支持的类,用于 Rails 应用程序中的自动 JSON 序列化。

Dry-Struct 集成如何工作?

当选择 Dry-Struct 框架时,生成器使用 dry-struct gem 创建具有类型检查和强制的不可变结构体类。

Ruby 约定和样式如何处理?

生成的 Ruby 代码遵循标准约定:方法和变量使用 snake_case,类使用 CamelCase,默认使用 2 个空格的正确缩进。

JSON 转 Ruby 生成器 | JSONSwiss