JSON-invoer

Rust-uitvoer

Wat is JSON naar Rust?

Als je een REST API aanroept in Rust, heb je overeenkomende struct-definities nodig voordat je iets kunt deserialiseren met Serde. Die structs met de hand schrijven — zeker voor diep genest JSON — is vervelend en foutgevoelig. Dit tool genereert automatisch Serde-compatibele Rust-structs. Plak je JSON, krijg kant-en-klare structs met #[derive(Serialize, Deserialize)], en voeg ze direct toe aan je Cargo-project.

Deze tool genereert Rust-structs uit je JSON. Activeer Serde voor Serialize/Deserialize-derives. Activeer Option types voor optionele velden. De uitvoer werkt met serde_json::from_str en serde_json::to_string.

De conversie draait volledig in je browser. Je JSON wordt nooit naar een server gestuurd.

Wanneer JSON naar Rust helpt

Bij het ontwikkelen van Rust-apps die REST-API's consumeren heb je getypeerde structs nodig.

Hoe deze tool te gebruiken

1

JSON plakken of uploaden

Kopieer je JSON en plak het in de linker editor. Je kunt ook op Uploaden klikken om een bestand te laden. Gebruik de Voorbeeld-knop voor voorbeelddata. Stel de structnaam en opties in het configuratiepaneel in.

2

Gegenereerde structs controleren

Het rechterpaneel toont de gegenereerde Rust-structs. Geneste objecten worden aparte structs. Arrays worden Vec<T>. Bij ongeldige JSON-syntax: eerst de JSON Formatter of de JSON Validator gebruiken.

3

Kopiëren of downloaden

Gebruik Kopiëren of Downloaden om de code te krijgen. Voeg serde en serde_json toe aan je Cargo.toml. Plak het in je Rust-project.

JSON naar Rust-voorbeelden

Hier een voorbeeld van het genereren van Rust-structs uit een JSON-object.

Voorbeeld: Abonnee-record

JSON-invoer:

Invoer

Gegenereerde Rust-uitvoer:

Uitvoer

Wanneer JSON naar Rust helpt

De meeste ontwikkelaars hebben dit nodig bij de integratie met REST-API's.

Als je eerst twee JSON-bestanden moet samenvoegen: er is de tool JSON Samenvoegen voor.

API-responses, configuratiebestanden of data-exporten zijn vaak JSON. Deze hier doorheen halen helpt Rust-structs te genereren.

Veelgestelde vragen

Hoe deserialiseer ik JSON in Rust met Serde?

Voeg serde = { version = "1.0", features = ["derive"] } en serde_json = "1.0" toe aan je Cargo.toml. Leid Deserialize af op je struct, roep dan serde_json::from_str::<YourStruct>(&json_string) aan. Genereer de struct hier door je JSON te plakken.

Wat doet #[serde(rename)] in Rust?

#[serde(rename = "jsonKey")] vertelt Serde een specifieke JSON-sleutel te mappen naar een Rust-veldnaam. Handig als JSON camelCase gebruikt (zoals planName) maar je Rust-struct snake_case gebruikt (plan_name). De generator voegt ze automatisch toe wanneer nodig.

Hoe ga ik om met optionele of nullable JSON-velden in Rust?

Schakel Option Types in om nullable velden te wikkelen in Option<T>. Dit betekent dat ontbrekende of null JSON-velden deserialiseren naar None in plaats van een fout te veroorzaken. Je kunt ook #[serde(skip_serializing_if = "Option::is_none")] toevoegen om null-velden te weglaten bij serialiseren.

Wordt mijn JSON naar een server gestuurd?

Nee. De struct-generatie werkt volledig in je browser. Je JSON verlaat nooit je machine.

Hoe zit het met geneste JSON-objecten en arrays?

Geneste JSON-objecten worden aparte Rust-structs, elk met hun eigen #[derive(Serialize, Deserialize)]. Arrays worden Vec<T> van die struct-typen. De generator verwerkt willekeurige nestdiepte.

Gerelateerde tools

Voor Rust JSON: Serde en serde_json. Voor JSON: JSON-specificatie.