JSON para Rust
Converter JSON para structs Rust online. Gerar structs compatíveis com Serde para desenvolvimento Rust. Grátis, roda no seu navegador—nenhum dado enviado a servidores.
Entrada JSON
Saída Rust
O que é JSON para Rust?
Rust usa structs para dados estruturados. Ao consumir JSON com Serde, você precisa de definições de struct correspondentes.
Esta ferramenta gera structs Rust a partir do seu JSON. Ative Serde para derives Serialize/Deserialize. Ative Tipos Option para campos opcionais.
A conversão roda inteiramente no seu navegador. Seu JSON nunca é enviado a um servidor.
Quando JSON para Rust ajuda
Ao desenvolver apps Rust que consomem APIs REST, você precisa de structs tipadas.
Como usar esta ferramenta
Colar ou enviar JSON
Copie seu JSON e cole no editor esquerdo. Use o botão Amostra para dados de exemplo. Configure o nome do struct e opções no painel de configuração.
Revisar os structs gerados
O painel direito mostra os structs Rust gerados. Se seu JSON tiver sintaxe inválida, corrija primeiro com o Formatador JSON ou o Validador JSON.
Copiar ou baixar
Use Copiar ou Baixar para obter o código. Adicione serde e serde_json ao seu Cargo.toml. Cole no seu projeto Rust.
Exemplos de JSON para Rust
Aqui está um exemplo de geração de structs Rust a partir de um objeto JSON.
Exemplo: Registro de assinante
Entrada JSON:
Saída Rust gerada:
Quando JSON para Rust 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
Serde ou deserialização manual?
Serde é o padrão para JSON em Rust. Gera Serialize e Deserialize via macros derive. Adicione serde e serde_json ao Cargo.toml.
E Option para campos null?
Ative Tipos Option para campos JSON opcionais. Isso envolve campos nullable em Option<T>.
Meus dados são enviados a algum lugar?
Não. A geração roda inteiramente no seu navegador.
Posso usar #[serde(rename)]?
Sim. O gerador adiciona #[serde(rename = "jsonKey")] quando o nome do campo Rust (snake_case) difere da chave JSON (camelCase).
E os objetos aninhados?
Objetos JSON aninhados tornam-se structs Rust separados. Arrays tornam-se Vec<T> desses tipos.
Ferramentas relacionadas
Para JSON em Rust, veja Serde e serde_json. Para JSON, veja a especificação JSON.