Konwerter JSON do C#
Konwertuj JSON na klasy C# i obiekty POCO do programowania .NET
Wejście JSON
Wyjście C#
Czym jest JSON do C#?
Jeśli integrujesz zewnętrzne API w swojej aplikacji .NET, zazwyczaj otrzymujesz dokumenty JSON, ale potrzebujesz typowanych klas C# do deserializacji odpowiedzi. Pisanie tych klas ręcznie jest żmudne — zwłaszcza przy głęboko zagnieżdżonych obiektach. To narzędzie automatycznie generuje C# POCO z Twojego JSON. Wklej przykładową odpowiedź API i uzyskaj definicje klas gotowe do dodania do projektu. Działają od razu z System.Text.Json lub Newtonsoft.Json.
Konwersja działa w Twojej przeglądarce. Użyj opcji konfiguracji, aby ustawić nazwę klasy, wybrać właściwości vs pola i włączyć typy nullable. Nic nie jest wysyłane na serwer.
Jak używać tego narzędzia
Wklej JSON
Wklej swój JSON do lewego edytora lub wczytaj plik. Użyj Przykład dla przykładowych danych. Ustaw nazwę klasy głównej i opcje (Właściwości, Nullable) w panelu konfiguracji.
Sprawdź klasy
Prawy panel pokazuje wygenerowane klasy C#. Zagnieżdżone obiekty stają się osobnymi klasami. Tablice stają się List<T> lub T[]. Dodaj atrybuty [JsonPropertyName] jeśli potrzebne dla różnych nazw kluczy JSON.
Kopiuj lub pobierz
Użyj Kopiuj lub Pobierz, aby uzyskać kod. Wklej go do swojego projektu .NET. Aby najpierw sformatować JSON, użyj Formatera JSON. Do walidacji użyj Walidatora JSON.
Przykłady JSON do C#
Oto przykład generowania klas C# z obiektu JSON.
Przykład: Rekord subskrybenta
Wejście JSON:
Wygenerowane wyjście C#:
Kiedy JSON do C# jest pomocny
Podczas integrowania REST API w .NET, ASP.NET Core lub Blazor, potrzebujesz typów C# do deserializacji. Wklejenie przykładowej odpowiedzi tutaj daje POCO, których możesz używać z JsonSerializer.Deserialize<T>() lub Newtonsoft.Json. Do testowania API przydatne są Postman i jq.
Przykłady JSON do C#
Przykład: Obiekt JSON do klasy C#
Dane wejściowe JSON:
{"subscriberId":"SUB-001","planName":"Premium 4G","dataLimit":"50GB","voiceMinutes":500,"status":"active"}Wygenerowana klasa C#:
public class RootObject
{
public string SubscriberId { get; set; }
public string PlanName { get; set; }
public string DataLimit { get; set; }
public int VoiceMinutes { get; set; }
public string Status { get; set; }
}Często zadawane pytania
Jak deserializować JSON w C#?
Użyj JsonSerializer.Deserialize<TwojaKlasa>(jsonString) z System.Text.Json lub JsonConvert.DeserializeObject<TwojaKlasa>(jsonString) z Newtonsoft.Json. Potrzebujesz pasującej klasy C# — wygeneruj ją tutaj, wklejając swój JSON.
Co zrobić, gdy klucze JSON nie pasują do konwencji nazewnictwa C#?
Użyj [JsonPropertyName("json_key")] na właściwości (System.Text.Json) lub [JsonProperty("json_key")] (Newtonsoft). Możesz też skonfigurować JsonSerializerOptions.PropertyNamingPolicy na JsonNamingPolicy.CamelCase dla automatycznego mapowania.
Co z nullable typami referencyjnymi w C#?
Włącz Nullable Types w konfiguracji, aby generować string?, int? itp. Przydatne, gdy pola JSON mogą być null lub nieobecne. Będziesz potrzebować #nullable enable lub ustawienia projektu wspierającego nullable.
Czy mój JSON jest wysyłany na serwer?
Nie. Generowanie klas odbywa się całkowicie w Twojej przeglądarce. Twój JSON nigdy nie opuszcza Twojej maszyny, więc jest bezpieczny do użycia z produkcyjnymi kluczami API lub wrażliwymi danymi.
Właściwości vs pola — czego używać?
Właściwości (get; set;) są standardem dla DTO w C#. Zarówno System.Text.Json, jak i Newtonsoft.Json domyślnie serializują publiczne właściwości. Pola działają, ale są rzadziej używane dla obiektów transferu danych.
Powiązane narzędzia
System.Text.Json. Newtonsoft.Json. Specyfikacja JSON. RFC 8259. MDN. .NET. Postman.