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

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 do struct e opções no painel de configuração.

2

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.

3

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:

Entrada

Saída Rust gerada:

Saída

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.