AZ Tools

Conversor de JSON para struct Rust (serde)

Desenvolvimento

Cole qualquer objeto ou array JSON e obtenha definições `struct` do Rust prontas para usar que derivam `Serialize, Deserialize` do serde, com campos mapeados para tipos Rust (String, i64, f64, bool, Vec<...>) e structs separados para objetos aninhados. Chaves que não estão em snake_case recebem um atributo `#[serde(rename = "...")]`. Tudo roda localmente no seu navegador — seu JSON nunca é enviado.

Structs Rust

Como usar

  1. Cole ou digite seu JSON na caixa de entrada.
  2. Opcionalmente renomeie o struct raiz (padrão AutoGenerated).
  3. Copie os structs gerados da caixa de saída e adicione serde ao seu Cargo.toml.

Perguntas frequentes

Como os números são tipados?
Números inteiros viram i64 e números com ponto decimal viram f64. Ajuste manualmente se precisar de u32, i32 ou outra largura.
O que acontece com null ou arrays vazios?
Valores null são mapeados para Option<serde_json::Value> e arrays vazios para Vec<serde_json::Value>, pois o tipo não pode ser inferido da amostra.
Por que alguns campos têm um serde rename?
Campos do Rust usam snake_case. Quando uma chave JSON difere (por exemplo camelCase), um atributo #[serde(rename = "...")] é adicionado para que a serialização continue correspondendo à chave original.
Meu JSON é enviado para algum lugar?
Não. A conversão ocorre inteiramente no seu navegador; nada é enviado.

Ferramentas relacionadas