Generatore JSON → classi e record C#

Input JSON

Caricamento editor…

C# Generato

Configuration

Inserisci dati JSON per generare classi e record C# fortemente tipizzati per i tuoi progetti .NET

Classi, record, DTO e proprietà con nullable reference types

Come convertire JSON in C# – guida passo passo

Usare questo generatore da JSON a C# per creare classi o record C# da esempi JSON per API ASP.NET Core e app .NET.

  1. Passaggio 1: incolla un esempio JSON

    • Incolla un oggetto o un array JSON rappresentativo nell'editor di sinistra.
    • Includere oggetti nidificati, matrici e campi nullable in modo che i tipi vengano dedotti correttamente.
    • Utilizza Import per caricare JSON da un file, un URL o dati di esempio.
  2. Passaggio 2: scegliere le opzioni della classe C#

    • Imposta Class Name e Namespace in modo che corrispondano alla struttura del tuo progetto.
    • Scegli un framework JSON (System.Text.Json o Newtonsoft.Json) se desideri attributi.
    • Abilita i tipi di riferimento nullable in modo che i campi facoltativi vengano mappati a string? e tipi simili.
  3. Passaggio 3: rivedere il codice generato

    • Controlla i nomi dei campi, i tipi e il modo in cui sono modellati gli array/oggetti.
    • Modifica opzioni come Root Type Name, gestione null e framework, se disponibili.
    • Se un campo viene dedotto in modo errato, modifica il JSON di esempio e rigeneralo.
  4. Passaggio 4: utilizzare i DTO generati in .NET

    • Incolla l'output nel tuo progetto e aggiungilo alla cartella API/DTO.
    • Deserializza JSON nel tipo root utilizzando il serializzatore scelto.
    • Mantieni i DTO separati dai modelli di dominio quando hai bisogno del controllo delle versioni e della compatibilità con le versioni precedenti.
  5. Passaggio 5: copiare o scaricare

    • Copia l'output nel tuo progetto o scaricalo come file.
    • Esegui il tuo formattatore/linter per adattarlo allo stile del tuo codice.
    • Aggiungi librerie di analisi/serializzazione JSON se la tua lingua le richiede.

Suggerimenti rapidi

  • Preferire record per modelli immutabili quando possibile.
  • Utilizza [JsonPropertyName]/[JsonProperty] quando le chiavi JSON non corrispondono ai nomi C#.
  • Convalidare anticipatamente l'input per evitare oggetti parzialmente inizializzati.
Output di esempio (semplificato)
// Ingresso JSON
{
  "id": 123,
  "name": "Maeve Winters",
  "email": "[email protected]",
  "active": true,
  "roles": ["admin", "editor"],
  "metadata": { "plan": "pro" },
  "createdAt": "2024-03-01T10:15:00Z",
  "score": 99.5,
  "notes": null
}

// Generated C# DTOs (simplified)
public class Metadata
{
    public string Plan { get; set; } = string.Empty;
}

public class Root
{
    public int Id { get; set; }
    public string Name { get; set; } = string.Empty;
    public string? Email { get; set; }
    public bool Active { get; set; }
    public List<string> Roles { get; set; } = new();
    public Metadata Metadata { get; set; } = new();
    public DateTime CreatedAt { get; set; }
    public double Score { get; set; }
    public object? Notes { get; set; }
}

Strumenti JSON e C# correlati

Esplora altri strumenti JSON e schemi che funzionano alla grande insieme a questo generatore da JSON a C#.

Domande frequenti

Quali funzionalità C# supporta questo generatore JSON → C#?

Il generatore crea classi C# e record C# 9+ con proprietà, supporta attributi JSON.NET e System.Text.Json e segue le convenzioni di naming .NET moderne con namespace corretti.

Posso generare record C# e modelli DTO invece di sole classi?

Sì! Seleziona 'Record' come framework per generare record C# moderni con proprietà immutabili, ideali per DTO, contratti API e value type.

Come funziona la serializzazione JSON con i tipi C# generati?

Il generatore supporta attributi sia di Newtonsoft.Json sia di System.Text.Json per una corretta serializzazione e deserializzazione, con nomi proprietà personalizzati, gestione dei null e configurazione flessibile.

E i nullable reference types e i campi JSON opzionali?

Il generatore include annotazioni nullable (object?) per proprietà che possono essere null, seguendo le convenzioni moderne dei nullable reference types e rendendo più sicura la mappatura dei campi opzionali.

Posso usare le classi generate in progetti ASP.NET Core o Blazor?

Sì. Il codice JSON → C# funziona bene in controller ASP.NET Core, minimal API, componenti Blazor e in qualsiasi applicazione .NET che richieda modelli tipizzati per payload JSON.

Questo generatore JSON → C# è gratuito?

Sì, il generatore JSON Swiss JSON → C# è gratuito nel browser. Puoi incollare JSON, configurare opzioni e generare codice C# senza installare strumenti o estensioni.

Generatore JSON → classi e record C# | JSONSwiss