Konwerter JSON do Rust
Konwertuj dane JSON na kod Rust. Generuj struktury Rust kompatybilne z Serde do programowania w Rust. Bezpłatny, działa w przeglądarce — żadne dane nie są wysyłane na serwer.
Wejście JSON
Wyjście Rust
Czym jest konwerter JSON do Rust?
Jeśli wywołujesz REST API w Rust, potrzebujesz pasujących definicji struct zanim będziesz mógł zdeserializować cokolwiek za pomocą Serde. Pisanie tych structs ręcznie — zwłaszcza dla głęboko zagnieżdżonego JSON — jest żmudne i podatne na błędy. To narzędzie generuje automatycznie Serde-kompatybilne Rust structs. Wklej JSON, uzyskaj gotowe structs z #[derive(Serialize, Deserialize)] i dodaj je bezpośrednio do swojego projektu Cargo.
To narzędzie generuje struktury Rust z JSON. Włącz Serde dla derywacji Serialize/Deserialize. Włącz typy Option dla pól opcjonalnych. Wyjście działa z serde_json::from_str i serde_json::to_string.
Konwersja odbywa się w całości w przeglądarce. JSON nie jest wysyłany na żaden serwer.
Kiedy JSON do Rust jest przydatny
Gdy tworzysz aplikacje Rust korzystające z REST API i potrzebujesz typowanych struktur. Wklej przykładową odpowiedź tutaj, aby wygenerować odpowiednie struktury z obsługą Serde.
Jak używać tego narzędzia
Wklej lub wczytaj JSON
Skopiuj JSON i wklej go do edytora po lewej. Możesz też kliknąć Wczytaj, aby załadować plik. Użyj przycisku Przykład dla danych testowych. Ustaw nazwę struktury i opcje w panelu ustawień.
Przejrzyj wygenerowane struktury
Panel po prawej pokazuje wygenerowane struktury Rust. Zagnieżdżone obiekty stają się oddzielnymi strukturami. Tablice stają się Vec<T>. Jeśli składnia JSON jest nieprawidłowa, użyj najpierw Formatera JSON lub Walidatora JSON, aby ją poprawić.
Kopiuj lub pobierz
Użyj Kopiuj lub Pobierz, aby uzyskać kod. Dodaj serde i serde_json do Cargo.toml. Wklej do swojego projektu Rust.
Przykłady JSON do Rust
Przykład generowania struktur Rust z obiektu JSON.
Przykład: Rekord abonenta
Wejście JSON:
Wygenerowane wyjście Rust:
Kiedy JSON do Rust jest przydatny
Większość programistów potrzebuje tego podczas integracji REST API. Wklej tutaj i uzyskaj struktury kompatybilne z Serde gotowe do użycia.
Jeśli najpierw musisz scalić dwa pliki JSON, istnieje osobne narzędzie do Scalania JSON.
Odpowiedzi API, pliki konfiguracyjne lub eksporty danych są często w formacie JSON. Uruchom tutaj, aby wygenerować struktury Rust.
Często zadawane pytania
Jak deserializować JSON w Rust z Serde?
Dodaj serde = { version = "1.0", features = ["derive"] } i serde_json = "1.0" do swojego Cargo.toml. Wyprowadź Deserialize na swoim struct, następnie wywołaj serde_json::from_str::<YourStruct>(&json_string). Wygeneruj struct tutaj wklejając JSON.
Co robi #[serde(rename)] w Rust?
#[serde(rename = "jsonKey")] mówi Serde, aby mapował konkretny klucz JSON na nazwę pola Rust. Przydatne gdy JSON używa camelCase (jak planName), ale Rust struct używa snake_case (plan_name). Generator dodaje je automatycznie gdy potrzeba.
Jak obsługiwać opcjonalne lub nullable pola JSON w Rust?
Włącz Option Types, aby owinąć nullable pola w Option<T>. Oznacza to, że nieobecne lub null pola JSON deserializują się do None zamiast powodować błąd. Możesz też dodać #[serde(skip_serializing_if = "Option::is_none")], aby pominąć null pola przy serializacji.
Czy mój JSON jest wysyłany na serwer?
Nie. Generowanie structów odbywa się całkowicie w Twojej przeglądarce. Twój JSON nigdy nie opuszcza Twojego komputera.
A co z zagnieżdżonymi obiektami JSON i tablicami?
Zagnieżdżone obiekty JSON stają się oddzielnymi Rust structs, każdy z własnym #[derive(Serialize, Deserialize)]. Tablice stają się Vec<T> tych typów struct. Generator obsługuje dowolną głębokość zagnieżdżenia.
Powiązane narzędzia
JSON w Rust — patrz Serde i serde_json. JSON — patrz specyfikacja JSON.