Online Tool Store Online Tool Store

Generator structów Rust

Generator structów Rust daje punkt wyjścia na podstawie jednej próbki; to, które pola są naprawdę opcjonalne, pokazuje własny schemat API.

To narzędzie działa w całości w Twojej przeglądarce. Twoje pliki nigdy nie są wysyłane na serwer.

Deweloper

Generator structów Rust

Gotowe

Podgląd interfejsu — bez przesyłania i usług zewnętrznych.

Structy Rust

Trzy zagnieżdżone structy z #[derive(Serialize, Deserialize, Debug)], user_id zmienione z userId, a email otypowane jako Option<String>, ponieważ w próbce było null.

Jak działa Generator structów Rust

  1. Wklej reprezentatywną próbkę JSON — taką, w której wypełnione jest każde pole opcjonalne, nie tylko przypadek minimalny.
  2. Wybierz derive'y oraz to, czy zmienić nazwy pól na snake_case za pomocą atrybutów serde rename.
  3. Skopiuj structy do swojej crate i sprawdź typy Option względem tego, co API naprawdę gwarantuje.

Najczęstsze pytania

Dlaczego niektóre pola są Option?

Ponieważ próbka miała tam null albo pole było nieobecne. Pole zawsze obecne w próbce zostanie wygenerowane jako zwykły typ, który wywoła panic przy deserializacji, gdy tylko API je pominie.

Czy jedna próbka JSON daje poprawne typy?

Daje typy zgodne z tą próbką. Przypadkowo małe liczby całkowite stają się i64, a pole będące stringiem w jednej odpowiedzi i liczbą w innej nie zostanie wykryte. Sprawdź to ze schematem API.

A co ze zmianą nazw na snake_case?

Konwencja Rust wymaga pól snake_case, podczas gdy większość API JSON używa camelCase. Generowanie atrybutów serde rename utrzymuje obie strony idiomatyczne bez ręcznej warstwy mapowania.

Porównanie

FunkcjaOnline Tool StoreSkrypt CLIWtyczka do IDE
Zawarte derive serde ✓ ✗ ✓
Option dla nullable ✓ ✗ ✓
Nic nie jest przesyłane ✓ Lokalnie ✗
Brak instalacji ✓ ✗ ✓

Generator structów Rust daje punkt wyjścia na podstawie jednej próbki; to, które pola są naprawdę opcjonalne, pokazuje własny schemat API.

Zobacz powiązane narzędzia

Osadź to narzędzie

Wklej to na swojej stronie — pozostanie darmowe, a każdy plik nadal zostaje w przeglądarce odwiedzającego, nie u Ciebie ani u nas.