# JSON para Rust

> Deduz structs Rust a partir de um JSON de exemplo. Objetos aninhados viram structs nomeados, com renomeações serde. Chaves que faltam em alguns objetos de um array ficam opcionais. A conversão fica na aba.

Roda no seu navegador. Nada é enviado.

[Converter](https://toolbuddy.dev/pt/categories/convert.md)

## Sobre esta ferramenta

Deduz structs Rust de um JSON de exemplo. Chaves em camel case viram campos snake_case com rename. Chaves ausentes em parte de um array, e um null ao lado de um valor concreto, viram Option. Inteiros continuam i64. Os outros números viram f64.

Cole o JSON e copie os structs. Um array de objetos na raiz é type Root = Vec<RootItem>. Um objeto vazio vira HashMap<String, serde_json::Value>. É um ponto de partida, sem métodos nem validação. O trabalho fica nesta aba. Depois de carregar a página, dá para continuar sem rede.

## Perguntas

### Isso compila o código Rust?

Não. Escreve declarações de struct para colar num arquivo. Não roda o rustc, e o JSON de exemplo fica na aba.

## Mais ferramentas de Converter

- [JSON ↔ YAML](https://toolbuddy.dev/pt/tools/json-yaml.md): Converta JSON para YAML e YAML de volta para JSON no navegador. Cole uma config, um trecho de Kubernetes ou um fixture de API e copie o outro formato. A análise usa js-yaml localmente. Os documentos não são enviados a um conversor.
- [JSON ↔ TOML](https://toolbuddy.dev/pt/tools/json-toml.md): Converta objetos JSON para TOML e documentos TOML de volta para JSON no navegador. Útil para trechos de Cargo.toml, pyproject e configuração de apps. A análise fica no dispositivo.
- [JSON ↔ XML](https://toolbuddy.dev/pt/tools/json-xml.md): Converta objetos JSON para XML e documentos XML de volta para JSON. Útil para restos de SOAP, RSS e APIs misturadas. O XML é analisado com o DOMParser do navegador, então as cargas ficam no dispositivo.
- [JSON ↔ CSV](https://toolbuddy.dev/pt/tools/json-csv.md): Converta um array de objetos JSON em CSV, ou leia cabeçalhos CSV como objetos JSON. A análise respeita aspas e roda na aba, então planilhas com IDs e e-mails não são enviadas a um serviço de conversão.
- [JSON para SQL](https://toolbuddy.dev/pt/tools/json-sql.md): Converta um objeto JSON ou um array de objetos em instruções INSERT de SQL. Informe o nome da tabela, copie a consulta e deixe as linhas no dispositivo em vez de colar fixtures em um conversor hospedado.
- [CSV ↔ TSV](https://toolbuddy.dev/pt/tools/csv-tsv.md): Converta valores separados por vírgula em valores separados por tabulação, e o inverso, preservando campos entre aspas. Uma troca de delimitador para dumps que você prefere não colar em uma planilha online.
