Entrada JSON

Saída Ruby

O que é JSON para Ruby?

Se você está construindo um cliente de API Rails ou um script Ruby que chama um serviço de terceiros, vai receber JSON. E a menos que queira navegar hashes brutos em todo lugar, precisa de classes Ruby com acessores de atributos adequados. A especificação JSON é limpa e simples, mas Ruby precisa de definições explícitas de classes para trabalhar com dados tipados — esta ferramenta gera automaticamente para você.

Esta ferramenta gera classes Ruby a partir do seu JSON. Ative attr_accessor para métodos getter/setter. A saída usa snake_case para nomes de atributos.

A conversão roda inteiramente no seu navegador. Seu JSON nunca é enviado a um servidor.

Quando JSON para Ruby ajuda

Ao desenvolver apps Rails ou Ruby que consomem APIs REST, você precisa de classes tipadas.

Como usar esta ferramenta

1

Colar ou enviar JSON

Copie seu JSON e cole no editor esquerdo. Use o botão Amostra para dados de exemplo. Configure o nome da classe e opções no painel de configuração.

2

Revisar as classes geradas

O painel direito mostra as classes Ruby geradas. Se seu JSON tiver sintaxe inválida, corrija primeiro com o Formatador JSON ou o Validador JSON.

3

Copiar ou baixar

Use Copiar ou Baixar para obter o código. Cole no seu projeto Rails ou Ruby.

Exemplos de JSON para Ruby

Aqui está um exemplo de geração de classes Ruby a partir de um objeto JSON.

Exemplo: Registro de assinante

Entrada JSON:

Entrada

Saída Ruby gerada:

Saída

Quando JSON para Ruby ajuda

A maioria dos desenvolvedores precisa disso ao integrar com APIs REST.

Para mesclar dois arquivos JSON primeiro, existe a ferramenta Mesclar JSON.

Respostas de API, arquivos de configuração ou exportações de dados costumam ser JSON.

Perguntas frequentes

Como faço o parse de JSON para uma classe Ruby?

Chame JSON.parse(json_string) para obter um Hash, depois mapeie as chaves para os atributos da sua classe no inicializador. Uma abordagem mais rápida: gere a classe Ruby aqui — cole seu JSON, copie a saída e adicione um inicializador que mapeia chaves de hash para campos attr_accessor.

O que é attr_accessor em Ruby?

attr_accessor cria tanto um getter quanto um setter para uma variável de instância. É o equivalente Ruby de uma propriedade pública. Use attr_reader para somente leitura ou attr_writer para somente escrita quando quiser restringir o acesso.

Como lidar com nomes de chaves JSON no Ruby?

A convenção Ruby é snake_case, mas JSON frequentemente usa camelCase. O gerador converte para snake_case automaticamente. Em tempo de execução, use JSON.parse(json_string, symbolize_names: true) ou uma biblioteca como HashWithIndifferentAccess no Rails para acesso flexível às chaves.

Meu JSON é enviado para um servidor?

Não. A geração de classes é executada completamente no seu navegador. Seu JSON nunca sai da sua máquina.

E objetos JSON aninhados?

Objetos JSON aninhados se tornam classes Ruby separadas. Arrays se tornam arrays dessas instâncias de classe. Você pode instanciar classes aninhadas no inicializador da classe pai para modelar completamente a estrutura JSON.

Ferramentas relacionadas

Para JSON em Ruby, veja JSON. Para JSON, veja a especificação JSON.