Πώς να μετατρέψετε JSON σε κλάση C#

Pos Na Metatrepsete Json Se Klase C



JSON ή Σημειογραφία αντικειμένου JavaScript βασίζεται σε ένα υποσύνολο της γλώσσας προγραμματισμού JavaScript, αλλά είναι ανεξάρτητο από τη γλώσσα και μπορεί να χρησιμοποιηθεί με οποιαδήποτε γλώσσα προγραμματισμού που διαθέτει αναλυτή JSON. Χρησιμοποιώ JSON δεδομένα στον προγραμματισμό C#, πρέπει κανείς να μετατρέψει JSON σε α Κατηγορία C# . Αυτό δίνει τη δυνατότητα στους προγραμματιστές να αλληλεπιδρούν με τα δεδομένα με τρόπο ασφαλή για τον τύπο, γεγονός που μειώνει τον κίνδυνο λαθών και καθιστά τον κώδικα πιο απλό στη διατήρηση.

Δουλεύοντας με JSON Τα δεδομένα σε C# συχνά απαιτούν τη μετατροπή του Δεδομένα JSON σε Τάξεις C# που μπορεί εύκολα να επεξεργαστεί και να χρησιμοποιηθεί στην εφαρμογή. Αυτό το σεμινάριο θα περιλαμβάνει τη διαδικασία μετατροπής JSON δεδομένα σε κλάσεις C#, με παραδείγματα κώδικα που θα σας βοηθήσουν στην πορεία.







Πώς να μετατρέψετε ένα JSON σε κλάση C#

Τα βήματα για τη μετατροπή α JSON σε α Κατηγορία C# είναι:



Βήμα 1: Αναλύστε τα δεδομένα JSON



Το πρώτο βήμα στη μετατροπή JSON σε α Κατηγορία C# είναι η ανάλυση των δεδομένων JSON και ο προσδιορισμός της δομής τους. Αυτό περιλαμβάνει τον προσδιορισμό των κλειδιών ή των ιδιοτήτων των δεδομένων και των αντίστοιχων τύπων δεδομένων τους. Μόλις συγκεντρωθούν αυτές οι πληροφορίες, μπορούμε να αρχίσουμε να δημιουργούμε μια αντίστοιχη κλάση C# που θα αντιπροσωπεύει τα δεδομένα JSON.





Βήμα 2: Δημιουργήστε μια κλάση C# που αντιπροσωπεύει τα δεδομένα JSON

ο JSON Το όνομα των δεδομένων χρησιμοποιείται στη συνέχεια για τον ορισμό μιας κλάσης. Μέσα σε αυτήν την κλάση, ορίζουμε ιδιότητες που ταιριάζουν με τα κλειδιά στο JSON δεδομένα. Ορίζουμε τους τύπους δεδομένων των ιδιοτήτων ώστε να ταιριάζουν με τους τύπους δεδομένων των τιμών στο JSON δεδομένα. Για παράδειγμα, εάν ένα κλειδί στο JSON Τα δεδομένα έχουν την τιμή μιας συμβολοσειράς, ορίζουμε την αντίστοιχη ιδιότητα στην κλάση C# ως συμβολοσειρά.



Βήμα 3: Αφαιρέστε τα δεδομένα JSON

Μετά τη δημιουργία της κλάσης C#, το επόμενο βήμα είναι να αποσειροποιήσετε το JSON δεδομένα σε μια παρουσία κλάσης. Αυτό είναι δυνατό με το Newtonsoft.Json βιβλιοθήκης, η οποία παρέχει ένα απλό API για αποσειροποίηση JSON δεδομένα. Πρέπει να εγκαταστήσετε και να εισαγάγετε το Newtonsoft.Json πακέτο για να το χρησιμοποιήσετε στον κώδικά σας. Δημιουργήστε ένα παράδειγμα του JsonSerializer τάξη και καλέστε το Deserialize μέθοδος, παραδίδοντας το JSON δεδομένα ως συμβολοσειρά και η κλάση C# ως παράμετρος γενικού τύπου:

χρησιμοποιώντας Newtonsoft.Json;

// Δεδομένα JSON
συμβολοσειρά json = '{' όνομα ':' Τζον Σμιθ ',' ηλικία ':30}' ;
// ντο # τάξη
Πρόσωπο δημόσιας τάξης
{
δημόσια συμβολοσειρά Όνομα { παίρνω; σειρά ; }
δημόσια int Ηλικία { παίρνω; σειρά ; }
}
// Αποσειροποιήστε τα δεδομένα JSON σε ένα αντικείμενο Person
Person person = JsonConvert.DeserializeObject < Πρόσωπο > ( json ) ;

ο JSON Τα δεδομένα σε αυτό το παράδειγμα είναι ένα απλό αντικείμενο με ιδιότητα ονόματος και ηλικίας και η κλάση C# είναι μια κλάση Person με παρόμοιες ιδιότητες. JsonConvert.DeserializeObject χρησιμοποιείται για τη μετατροπή JSON δεδομένα σε ένα αντικείμενο Person που μπορεί να επεξεργαστεί και να χρησιμοποιηθεί στην εφαρμογή.

Βήμα 4: Χειριστείτε το αντικείμενο C#

Μετά την αποσημανοποίηση του Δεδομένα JSON μέσα σε Αντικείμενο C# , μπορεί να χειριστεί και να χρησιμοποιηθεί στην εφαρμογή όπως επιθυμείτε. Οι ιδιότητες μπορούν να διαβαστούν ή να οριστούν, οι μέθοδοι μπορούν να κληθούν και το αντικείμενο μπορεί να παρασχεθεί ως παράμετρος σε άλλες διαδικασίες ή συναρτήσεις.

Ακολουθεί ένα παράδειγμα του τρόπου εργασίας με το Πρόσωπο αντικείμενο που δημιουργήσατε στο προηγούμενο βήμα:

// Πάρτε το άτομο το όνομα του
όνομα συμβολοσειράς = πρόσωπο.Όνομα;

// Ορίστε το άτομο'
ΣΟΦΌΣ
άτομο.Ηλικία = 31 ;

// Καλέστε μια μέθοδο στο αντικείμενο πρόσωπο
πρόσωπο.ΕκτύπωσηΛεπτομέρειες ( ) ;

Το αντικείμενο προσώπου χρησιμοποιείται σε αυτό το παράδειγμα για να λάβετε το όνομα του ατόμου, να ορίσετε την ηλικία του ατόμου και να καλέσετε το Εκτύπωση Λεπτομέρειες μέθοδος στο αντικείμενο.

Εδώ είναι ένας πλήρης κώδικας που δείχνει πώς να μετατρέψτε το JSON σε κλάση C# .

χρησιμοποιώντας το σύστημα.
χρησιμοποιώντας Newtonsoft.Json;

Χώρος ονομάτων JsonToClassExample
{
Πρόγραμμα τάξης
{
στατικό κενό Κύριο ( σειρά [ ] args )
{
συμβολοσειρά json = @ '{
'firstName': 'Larry',
'επώνυμο': 'Κέβιν',
'διεύθυνση': {
'street': 'Main Street',
'πόλη': 'Βενετία',
}
}'
;

Rootobject myObject = JsonConvert.DeserializeObject < Αντικείμενο ρίζας > ( json ) ;

Κονσόλα.WriteLine ( 'Το πρώτο όνομα είναι:' + myObject.firstName ) ;
Κονσόλα.WriteLine ( 'Το επώνυμο είναι:' + myObject.lastName ) ;
Κονσόλα.WriteLine ( 'Ο δρόμος είναι:' + myObject.address.street ) ;
Κονσόλα.WriteLine ( 'Η πόλη είναι:' + myObject.address.city ) ;


Console.ReadLine ( ) ;
}
}

δημόσια τάξη Rootobject
{
δημόσια συμβολοσειρά firstName { παίρνω; σειρά ; }
δημόσια συμβολοσειρά επώνυμο { παίρνω; σειρά ; }
δημόσια διεύθυνση { παίρνω; σειρά ; }
}

Διεύθυνση δημόσιας τάξης
{
δημόσιος δρόμος χορδών { παίρνω; σειρά ; }
πόλη δημόσιας χορδής { παίρνω; σειρά ; }
}
}

Ο παραπάνω κώδικας δείχνει τον τρόπο χρήσης Πακέτο Newtonsoft.Json NuGet προς την αποσειροποιώ ένα Συμβολοσειρά JSON σε μια κλάση C# . Η συμβολοσειρά JSON περιλαμβάνει πληροφορίες για το όνομα και το επώνυμο ενός ατόμου, καθώς και τη διεύθυνσή του (οδός και πόλη). Ως κλάσεις C#, οι κλάσεις Rootobject και Address καθορίζουν τη δομή των δεδομένων JSON.

ο JsonConvert.DeserializeObject μέθοδος χρησιμοποιείται για τη μετατροπή μιας συμβολοσειράς JSON σε a Αντικείμενο ρίζας παράδειγμα. Στη συνέχεια, τα δεδομένα εμφανίζονται στην κονσόλα με πρόσβαση στα χαρακτηριστικά του Αντικείμενο ρίζας και τάξεις διευθύνσεων. ο Console.ReadLine μέθοδος χρησιμοποιείται για να σταματήσει το πρόγραμμα πριν τερματιστεί.

Παραγωγή

Άλλοι τρόποι μετατροπής JSON σε C#

Μπορείτε επίσης να αντιγράψετε το JSON δεδομένα στο πρόχειρο και χρησιμοποιήστε α Γεννήτρια κλάσης JSON σε C# για να δημιουργήσετε την κλάση C#. Υπάρχουν διάφορα εργαλεία στο διαδίκτυο, όπως π.χ Json2CSharp και QuickType , που μπορεί να σας βοηθήσει να δημιουργήσετε την τάξη σας C# από JSON δεδομένα. Επικολλήστε το JSON δεδομένα στο κατάλληλο πεδίο και αφήστε το εργαλείο να δημιουργήσει την κλάση C# για εσάς. Αυτή η προσέγγιση είναι απλή και γρήγορη. Ωστόσο, για λόγους μάθησης, πρέπει να ακολουθήσετε την πρώτη μέθοδο.

συμπέρασμα

Μετατροπή δεδομένων JSON σε κλάση C# περιλαμβάνει την ανάλυση του JSON δεδομένα, δημιουργώντας μια αντίστοιχη κλάση C# και αποδεσμεύοντας τα δεδομένα JSON στο αντικείμενο κλάσης C#. Αυτή η διαδικασία μπορεί να είναι χρήσιμη όταν εργάζεστε με JSON δεδομένα σε εφαρμογές C#, διευκολύνοντας την ανάγνωση, τον χειρισμό και την αποστολή δεδομένων σε υπηρεσίες web ή API. Για γρήγορη μετάφραση JSON σε C# , μπορείτε επίσης να χρησιμοποιήσετε πολλά εργαλεία web, όπως π.χ Json2CSharp και QuickType .