Hoe JSON naar C # Class te converteren

Hoe Json Naar C Class Te Converteren



JSON of JavaScript-objectnotatie is gebaseerd op een subset van de JavaScript-programmeertaal, maar is taalonafhankelijk en kan worden gebruikt met elke programmeertaal die een JSON-parser heeft. Gebruiken JSON gegevens in C#-programmering, moet men converteren JSON naar een C# klasse . Dit maakt het voor programmeurs mogelijk om op een type-veilige manier met de gegevens om te gaan, wat de kans op fouten verkleint en de code eenvoudiger te onderhouden maakt.

Werken met JSON data in C# vereist vaak het converteren van de JSON-gegevens naar binnen C#-klassen die gemakkelijk kan worden bewerkt en gebruikt in de toepassing. Deze tutorial gaat over het conversieproces JSON gegevens naar C#-klassen, met codevoorbeelden om u op weg te helpen.







Hoe een JSON naar een C#-klasse te converteren

De stappen om een JSON naar een C#-klasse Zijn:



Stap 1: Analyseer de JSON-gegevens



De eerste stap in het converteren JSON naar een C# klasse is om de JSON-gegevens te analyseren en de structuur ervan te bepalen. Dit omvat het identificeren van de sleutels of eigenschappen van de gegevens en hun overeenkomstige gegevenstypen. Zodra deze informatie is verzameld, kunnen we beginnen met het maken van een overeenkomstige C#-klasse die de JSON-gegevens zal vertegenwoordigen.





Stap 2: Maak een C#-klasse die de JSON-gegevens vertegenwoordigt

De JSON de naam van de gegevens wordt vervolgens gebruikt om een ​​klasse te definiëren. Binnen deze klasse definiëren we eigenschappen die overeenkomen met de sleutels in de JSON gegevens. We stellen de gegevenstypen van de eigenschappen zo in dat ze overeenkomen met de gegevenstypen van de waarden in de JSON gegevens. Bijvoorbeeld als een sleutel in de JSON data de waarde van een tekenreeks heeft, definiëren we de overeenkomstige eigenschap in de C#-klasse als een tekenreeks.



Stap 3: deserialiseer de JSON-gegevens

Na het maken van de C#-klasse is de volgende stap het deserialiseren van de JSON gegevens in een klasse-instantie. Dit is mogelijk met de Newtonsoft.Json bibliotheek, die een eenvoudige API biedt voor deserialisatie JSON gegevens. U moet het Newtonsoft.Json pakket om het in uw code te gebruiken. Maak een instantie van de JsonSerializer klas en bel de Deserialiseren methode, inleveren van de JSON gegevens als een tekenreeks en de C#-klasse als de generieke typeparameter:

met behulp van Newtonsoft.Json;

// JSON-gegevens
tekenreeks json = '{' naam ':' John Smith ',' leeftijd ':30}' ;
// C # klas
openbare klasse Persoon
{
openbare tekenreeksnaam { krijgen; set ; }
openbare int Leeftijd { krijgen; set ; }
}
// Deserialiseer JSON-gegevens naar een persoonsobject
Persoon persoon = JsonConvert.DeserializeObject < Persoon > ( json ) ;

De JSON data in dit voorbeeld is een eenvoudig object met de eigenschap name en age, en de klasse C# is een klasse Person met vergelijkbare eigenschappen. JsonConvert.DeserializeObject wordt gebruikt om te converteren JSON gegevens in een persoonsobject dat kan worden bewerkt en gebruikt in de toepassing.

Stap 4: Manipuleer het C#-object

Na het deserialiseren van de JSON-gegevens in een C#-object , kan het naar wens worden gemanipuleerd en gebruikt in de toepassing. Eigenschappen kunnen worden gelezen of ingesteld, methoden kunnen worden aangeroepen en het object kan worden geleverd als een parameter voor andere procedures of functies.

Hier is een voorbeeld van hoe te werken met de Persoon object dat je in de vorige stap hebt gemaakt:

// Pak de persoon 's naam
tekenreeks naam = persoon.Naam;

// Stel de persoon in'
verstandig
persoon.Leeftijd = 31 ;

// Roep een methode op het person-object aan
persoon.PrintDetails ( ) ;

Het persoonsobject wordt in dit voorbeeld gebruikt om de naam van de persoon te krijgen, de leeftijd van de persoon in te stellen en de persoon te bellen Details afdrukken methode op het object.

Hier is een volledige code die laat zien hoe het moet converteer JSON naar een C#-klasse .

systeem gebruiken;
met behulp van Newtonsoft.Json;

naamruimte JsonToClassExample
{
klasse programma
{
statische leegte Main ( snaar [ ] argumenten )
{
tekenreeks json = @ '{
'voornaam': 'Larry',
'achternaam': 'Kevin',
'adres': {
'straat': 'Hoofdstraat',
'stad': 'Venetië',
}
}'
;

Rootobject myObject = JsonConvert.DeserializeObject < Rootobject > ( json ) ;

Console.WriteLine ( 'De voornaam is: ' + mijnObject.voornaam ) ;
Console.WriteLine ( 'De achternaam is: ' + mijnObject.achternaam ) ;
Console.WriteLine ( 'De straat is: ' + mijnObject.adres.straat ) ;
Console.WriteLine ( 'De stad is: ' + mijnObject.adres.stad ) ;


Console.ReadLine ( ) ;
}
}

rootobject van de openbare klasse
{
openbare tekenreeks voornaam { krijgen; set ; }
openbare tekenreeks achternaam { krijgen; set ; }
openbaar adres adres { krijgen; set ; }
}

adres van de openbare klasse
{
openbare touwstraat { krijgen; set ; }
openbare tekenstad { krijgen; set ; }
}
}

De bovenstaande code laat zien hoe te gebruiken Newtonsoft.Json NuGet-pakket naar deserialiseren A JSON-tekenreeks in een C#-klasse . De JSON-string bevat informatie over de voor- en achternaam van een persoon, evenals hun adres (straat en stad). Als C#-klassen bepalen de klassen Rootobject en Address de structuur van de JSON-gegevens.

De JsonConvert.DeserializeObject methode wordt gebruikt om een ​​JSON-string om te zetten in een Rootobject voorbeeld. De gegevens worden vervolgens weergegeven op de console door toegang te krijgen tot de attributen van de Rootobject en adresklassen. De Console.ReadLine methode wordt gebruikt om het programma te stoppen voordat het wordt beëindigd.

Uitgang

Andere manieren om JSON naar C# te converteren

U kunt ook de JSON gegevens naar het klembord en gebruik a JSON naar C# klasse generator om de C#-klasse te genereren. Er zijn verschillende tools online, zoals Json2CSharp En sneltype , waarmee u uw C#-klasse kunt genereren uit JSON gegevens. Plak de JSON gegevens in het juiste veld en laat de tool de C#-klasse voor u genereren. Deze aanpak is eenvoudig en snel. Voor leerdoeleinden moet u echter de eerste methode volgen.

Conclusie

JSON-gegevens converteren naar een C#-klasse omvat het analyseren van de JSON gegevens, het maken van een overeenkomstige C#-klasse en het deserialiseren van de JSON-gegevens naar het C#-klassenobject. Dit proces kan handig zijn bij het werken met JSON gegevens in C#-applicaties, waardoor het gemakkelijker wordt om gegevens te lezen, manipuleren en verzenden naar webservices of API's. Snel vertalen JSON naar C# , kunt u ook verschillende webtools gebruiken, zoals Json2CSharp En sneltype .