Convertitore da C# a JSON
Incolla classi o oggetti C#. Ottieni JSON pulito in risposta.
Cosa fa questo strumento
Se ti è mai capitato di dover scrivere a mano un payload JSON che rispecchi una classe C# — per un test, una chiamata API o della documentazione — sai quanto sia noioso. Incolla qui il C# e ottieni JSON valido senza riscrivere nulla a mano. Gestisce un singolo object initializer, un intero file di modelli con più classi o qualcosa di profondamente annidato — stesso risultato: un documento JSON completo con ogni campo preservato.
Non è un semplice string-replace. Il convertitore sa come C# serializza davvero a runtime: suffissi decimal come 49.99m perdono la m e diventano numeri JSON, DateTime e DateTimeOffset escono come stringhe ISO-8601 secondo la RFC 8259, Guid diventa una stringa esadecimale standard, i nullable con valore null diventano null, e le collection seguono ciò che produrrebbero System.Text.Json e Newtonsoft.Json — List<T> e array come array JSON, Dictionary<K,V> come oggetto JSON.
Anche gli attributi di serializzazione vengono rispettati. [JsonPropertyName("x")] rinomina la chiave, [JsonIgnore] elimina la proprietà. Se incolli più classi insieme, ognuna esce come entry di primo livello nel JSON, con i tipi annidati espansi e le proprietà ereditate dalle classi base incluse. Niente viene perso silenziosamente.
Come si usa
Tre passaggi. Funziona allo stesso modo sia che incolli cinque righe sia un intero file di modelli.
Incolla il C# (o prova l'esempio)
Butta il tuo C# nell'editor di sinistra così com'è. Un object initializer, una definizione di classe completa, più classi o strutture annidate — tutto ok. Clicca Carica esempio se vuoi vedere prima un caso realistico.
Non serve ripulire il codice — lascia la sintassi C#, i modificatori di accesso e gli attributi come sono. Basta incollare.
Premi Converti
Clicca il bottone verde Converti. Lo strumento legge il C#, preserva ogni classe e proprietà e costruisce il JSON in una sola passata. Vedrai un breve indicatore di caricamento mentre lavora.
Copia il JSON
Il pannello di destra si riempie di JSON indentato e compatibile con MDN. Copialo direttamente nella tua richiesta API, fixture di test, file di configurazione o documentazione.
Quando torna davvero utile
Costruire fixture API
Hai un request model in C# e ti serve un payload JSON da buttare in Postman o curl. Incolli la classe, prendi il JSON, vai avanti.
Inizializzare file di configurazione
Una classe Settings con 40 proprietà si trasforma in un template JSON pronto da modificare per appsettings.json o qualsiasi config store — niente boilerplate scritto a mano.
Tenere la documentazione allineata
Genera esempi JSON per un README, una reference API o una spec OpenAPI direttamente dai tuoi modelli reali, così la documentazione combacia con il codice.
Popolare dati di test
Trasforma gli object initializer dei tuoi unit test in file seed JSON per test di integrazione, mock server o fixture di database.
Domande frequenti
Posso incollare più classi insieme?
Sì — incolla un intero file. Ogni classe di primo livello esce come chiave propria nel JSON, con i tipi annidati espansi e le proprietà ereditate dalle classi base incluse. Niente viene scartato.
Rispetta attributi come [JsonPropertyName] o [JsonIgnore]?
Sì. [JsonPropertyName("x")] e [JsonProperty("x")] rinominano la chiave JSON e [JsonIgnore] rimuove la proprietà dall'output — lo stesso comportamento che otterresti da System.Text.Json.
Come gestisce decimal, DateTime, Guid e i soliti tipi C#?
I decimal (49.99m) perdono il suffisso e diventano numeri JSON. DateTime e DateTimeOffset escono come stringhe ISO-8601. Guid è una stringa esadecimale standard 8-4-4-4-12. TimeSpan diventa una stringa di durata. I nullable con valore null diventano null JSON; altrimenti viene serializzato il tipo sottostante.
E classi annidate, liste e dictionary?
List<T>, array, HashSet<T> e IEnumerable<T> diventano tutti array JSON. Dictionary<K,V> diventa un oggetto JSON. Gli object initializer annidati — un Address dentro un Order, per esempio — vengono espansi come oggetti JSON annidati con ogni campo intatto.
Il mio codice viene salvato?
Il tuo codice viene inviato al backend per la conversione e non viene conservato — non logghiamo il payload. Come sempre con strumenti online, se il codice è davvero sensibile dagli un'occhiata prima di incollarlo.
E se il C# ha qualcosa di strano — metodi, delegate, IntPtr?
Quelli vengono emessi come null invece di far fallire l'intera conversione, così il resto del modello passa comunque. Se il codice ha errori di sintassi, sistema quelli evidenti prima — il parser è tollerante, non magico.
Altri strumenti che potrebbero servirti
Da C# a JSON è un pezzo del puzzle. Ecco gli strumenti che si abbinano bene: