Pular para o conteúdo principal
DevTools by Decussi
  • Ferramentas
  • Dados
  • Segurança
  • Rede
  • Texto
  • Data
  • Web
  • Dev
  • SEO
  • Brasil
Ferramentas
  1. Início
  2. /Ferramentas
  3. /Dados
  4. /JSON para Rust

JSON para Rust – Gere structs com serde

Converta um JSON em structs Rust com as derives do serde já aplicadas, tipos inferidos e structs aninhadas separadas.

Código gerado
use serde::{Deserialize, Serialize};

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Endereco {
    pub cidade: String,
    pub uf: String,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Root {
    pub id: i64,
    pub nome: String,
    pub ativo: bool,
    pub saldo: f64,
    pub tags: Vec<String>,
    pub endereco: Endereco,
    #[serde(rename = "ultimoAcesso")]
    pub ultimo_acesso: Option<serde_json::Value>,
}

Os tipos são inferidos do exemplo: campos ausentes em parte dos itens de um array viram opcionais, e valores null viram anuláveis. Tudo roda no navegador — o JSON não é enviado a nenhum servidor.

Como usar esta ferramenta

  1. Cole o JSON de exemplo
  2. Copie as structs geradas
  3. Confira as derives Serialize e Deserialize
  4. Ajuste tipos opcionais e renomeações no projeto

Sobre esta ferramenta

O que é

serde é a biblioteca padrão de serialização em Rust. As derives Serialize e Deserialize geram em tempo de compilação o código que converte a struct de e para JSON.

Quando usar

  • Consumir uma API REST em um serviço Rust
  • Ler arquivo de configuração em JSON
  • Desserializar mensagens de uma fila
  • Modelar payload de webhook
  • Partir de um exemplo real em vez de escrever a struct do zero

Perguntas frequentes

Como tratar campo que pode faltar?
Declare o campo como Option<T>. O serde preenche com None quando a chave não vem no JSON, em vez de falhar a desserialização.
E quando o nome do campo tem hífen?
Use o atributo #[serde(rename = "nome-original")] no campo, já que hífen não é válido em identificador Rust.
Como converter snake_case e camelCase?
O atributo #[serde(rename_all = "camelCase")] na struct converte todos os campos de uma vez, sem precisar renomear um a um.

Ferramentas relacionadas

  • {}JSON Viewer
  • 📐Formatador de JSON
  • 📦Minificador de JSON
  • ✓Validador de JSON
  • ↔Comparador de JSON
  • YMYAML ↔ JSON
DevTools

Ferramentas para desenvolvedores, em português. Sem cadastro e sem instalação.

Criado e mantido por Decussi

Ferramentas

  • Todas as ferramentas
  • Dados
  • Segurança
  • Rede
  • Texto
  • Data
  • Web
  • Dev
  • SEO
  • Brasil

Referência

  • Consulta rápida
  • Guias
  • Códigos HTTP
  • Cron
  • Checagens de SEO

Desenvolvedores

  • API e devs
  • llms.txt
  • ai.txt
  • Sitemap

Newsletter

Receba novidades e novas ferramentas no seu email.

Sugira uma ferramenta

Tem uma ideia? Envie sua sugestão.