Entrada JSON

Saída Dart

O que é JSON para Dart?

Dart usa classes para dados estruturados. Ao consumir JSON em apps Flutter ou Dart, você precisa de classes correspondentes com os nomes e tipos corretos dos campos.

Esta ferramenta gera classes Dart a partir do seu JSON. Ative JsonSerializable para métodos fromJson/toJson. Ative Tipos nullable para campos opcionais.

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

Quando JSON para Dart ajuda

Ao desenvolver apps Flutter ou Dart 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. Você também pode clicar em Enviar para carregar um arquivo. 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 Dart geradas. Objetos aninhados tornam-se classes separadas. Arrays tornam-se <code>List&lt;T&gt;</code>. Se seu JSON tiver sintaxe inválida, corrija primeiro usando o Formatador JSON ou o Validador JSON.

3

Copiar ou baixar

Use Copiar ou Baixar para obter o código. Cole no seu projeto Flutter ou Dart.

Exemplos de JSON para Dart

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

Exemplo: Registro de assinante

Entrada JSON:

Entrada

Saída Dart gerada:

Saída

Quando JSON para Dart ajuda

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

Se precisar mesclar dois arquivos JSON primeiro, existe a ferramenta Mesclar JSON para isso.

Exportações de banco de dados, arquivos de configuração ou respostas de API costumam ser JSON. Passá-los por aqui ajuda a gerar classes Dart para seu app.

Perguntas frequentes

JsonSerializable ou fromJson manual?

JsonSerializable gera fromJson e toJson em tempo de compilação. Reduz boilerplate. Requer json_serializable e build_runner no seu projeto.

E a null safety?

Ative Tipos nullable para campos JSON opcionais. Isso adiciona ? a tipos que podem ser null.

Meus dados são enviados a algum lugar?

Não. A geração roda inteiramente no seu navegador.

Posso usar isso com Flutter?

Sim. As classes geradas funcionam com o pacote http do Flutter e dart:convert.

E se minhas chaves JSON usarem snake_case?

Dart tipicamente usa camelCase. Use @JsonKey(name: 'json_key') no campo para nomes de chave JSON personalizados.

Ferramentas relacionadas

Para JSON em Dart, veja dart:convert. Para JSON, veja a especificação JSON.