Generator de structuri Rust
Generatorul de structuri Rust oferă un punct de plecare dintr-un eșantion; schema proprie a API-ului arată ce câmpuri sunt cu adevărat opționale.
🔒 Acest instrument rulează în întregime în browserul tău. Fișierele tale nu sunt niciodată încărcate pe un server.
Dezvoltator
Generator de structuri Rust
Previzualizare a interfeței — fără încărcare sau servicii externe.
Structuri Rust
Trei structuri imbricate cu #[derive(Serialize, Deserialize, Debug)], user_id redenumit din userId, iar email tipizat ca Option<String> deoarece eșantionul avea null.
Cum funcționează Generatorul de structuri Rust
- Lipiți un eșantion JSON reprezentativ — unul în care fiecare câmp opțional este completat, nu doar cazul minim.
- Alegeți derive-urile și dacă redenumiți câmpurile în snake_case cu atribute serde rename.
- Copiați structurile în crate-ul dvs. și verificați tipurile Option față de ceea ce garantează efectiv API-ul.
FAQ
De ce sunt unele câmpuri Option?
Pentru că eșantionul avea null acolo, sau câmpul lipsea. Un câmp mereu prezent în eșantionul dvs. va fi generat ca tip simplu, care va intra în panic la deserializare de îndată ce API-ul îl omite.
Un singur eșantion JSON dă tipuri corecte?
Dă tipuri consecvente cu acel eșantion. Numerele întregi mici întâmplător devin i64, iar un câmp care e string într-un răspuns și număr în altul nu va fi detectat. Verificați cu schema API-ului.
Ce se întâmplă cu redenumirea snake_case?
Convenția Rust cere câmpuri snake_case, în timp ce majoritatea API-urilor JSON folosesc camelCase. Generarea atributelor serde rename păstrează ambele părți idiomatice fără un strat de mapare manuală.
Comparație
| Funcție | Online Tool Store | Un script CLI | Un plugin de IDE |
|---|---|---|---|
| Derive-uri serde incluse | ✓ | ✗ | ✓ |
| Option pentru nullable | ✓ | ✗ | ✓ |
| Nimic nu este încărcat | ✓ | Local | ✗ |
| Fără instalare | ✓ | ✗ | ✓ |
Generatorul de structuri Rust oferă un punct de plecare dintr-un eșantion; schema proprie a API-ului arată ce câmpuri sunt cu adevărat opționale.