how create json structure using c
Δημιουργία δομής JSON (Μέρος-2):
Στο προηγούμενο σεμινάριό μας, συζητήσαμε δημιουργία ενός απλού αρχείου JSON χρησιμοποιώντας δείγματα συνόλων δεδομένων .
Γνωρίσαμε επίσης τις λεπτομέρειες σχετικά με τη χρήση ενός πλαισίου json.Net για σειριοποίηση δεδομένων σε μορφή JSON. Χρησιμοποιήσαμε το C # και το Visual Studio για να δημιουργήσουμε μια απλή εφαρμογή κονσόλας για τη χρήση δεδομένων και βασικών τιμών που παρέχονται από εμάς και στη συνέχεια σειριοποιήσαμε αυτές τις βασικές τιμές στη δομή JSON. Τώρα, ας δούμε τι θα καλύψει αυτό το σεμινάριο καθώς προχωράμε.
Σε αυτό το σεμινάριο, θα συζητήσουμε τους τρόπους δημιουργίας πιο σύνθετης δομής JSON. Θα δημιουργήσουμε πίνακες με πολλά σύνολα δεδομένων και θα εξετάσουμε επίσης τους τρόπους δημιουργίας ένθετης δομής στο JSON.
Τα περισσότερα από τα αρχεία JSON που χρησιμοποιούνται για τη μετάδοση δεδομένων μεταξύ διαφόρων συστημάτων περιέχουν πιο περίπλοκες δομές δεδομένων. Με αυτόν τον τρόπο, η εκμάθηση σχετικά με την περίπλοκη δομή JSON θα σας βοηθήσει στη δημιουργία δεδομένων δοκιμής βάσει των απαιτήσεων σχήματος JSON.
Τι θα μάθετε:
- Σύνταξη του Κώδικα
- Προσθήκη σειράς με πολλαπλά δεδομένα στο JSON
- Εκτέλεση λειτουργιών σε δεδομένα πριν την εκχώρηση σε πλήκτρα JSON
- Δημιουργία δομής ένθετου JSON
- Χρήση ενός φύλλου Excel ως προέλευσης δεδομένων για το JSON
- συμπέρασμα
- Συνιστώμενη ανάγνωση
Σύνταξη του Κώδικα
Θα αναφερθούμε στην προηγούμενη ανάρτηση σε αυτό το σεμινάριο. Ως εκ τούτου, θα πρότεινα σε όλους να περάσουν πρώτα από το προηγούμενο σεμινάριο, προτού προχωρήσουν σε αυτό.
Θα χρησιμοποιήσουμε τα ίδια δεδομένα JSON που χρησιμοποιήσαμε στο προηγούμενο σεμινάριό μας. Θα παρακολουθήσουμε επίσης το ίδιο σύνολο κώδικα που γράψαμε για το προηγούμενο παράδειγμα JSON.
Ας ξεκινήσουμε τώρα. !!
Προσθήκη σειράς με πολλαπλά δεδομένα στο JSON
Για να προσθέσετε έναν πίνακα στο JSON, ας προσθέσουμε ένα κλειδί πίνακα στο προηγούμενο σύνολο δεδομένων μας.
Το σύνολο δεδομένων μας θα γίνει όπως φαίνεται παρακάτω:
Η προσθήκη ενός αντικειμένου πίνακα στο JSON είναι παρόμοια με αυτήν της προσθήκης οποιωνδήποτε άλλων βασικών τιμών. Οι τιμές μπορούν να εκχωρηθούν απευθείας κατά τη στιγμή της δήλωσης του ίδιου του πίνακα. Μόλις εκχωρηθούν οι τιμές σε έναν πίνακα, τότε το JSON newtonsoft θα σειριοποιήσει τα αντικείμενα σε ζεύγη τιμών-κλειδιών.
Για να προσθέσετε το Array στο JSON, θα το δηλώσουμε στο 'Υπάλληλος' η ίδια η τάξη. (Ανατρέξτε στο προηγούμενο σεμινάριό μας για λεπτομέρειες)
namespace jsonCreate { class Employee { public string FirstName = 'Sam'; public string LastName = 'Jackson'; public int employeeID = 5698523; public string Designation = 'Manager'; public string() KnownLanguages = { 'C#', 'Java', 'Perl' }; } }
Όπως μπορείτε να δείτε, έχουμε δηλώσει άμεσα το Array στην κατηγορία υπαλλήλων. Μην κάνετε αλλαγές στην κύρια μέθοδο. Η δημιουργία διαφορετικής κλάσης για αντικείμενο JSON θα μας βοηθήσει να διατηρήσουμε τα αντικείμενα οργανωμένα.
Κάθε φορά που υπάρχουν αλλαγές στη δομή JSON ή όταν θέλετε να προσθέσετε ένα άλλο σύνολο δεδομένων, το μόνο που χρειάζεται να κάνετε είναι να κάνετε τις αλλαγές στο συγκεκριμένο αρχείο κλάσης μόνο αντί να κάνετε αλλαγές σε όλο το έργο. Αυτό σημαίνει ότι η κύρια μέθοδος σας θα παραμείνει η ίδια τις περισσότερες φορές και οι αλλαγές θα πραγματοποιηθούν μόνο μέσα στα μαθήματα.
Ας εκτελέσουμε το πρόγραμμα και δημιουργήστε το αρχείο JSON με τον πίνακα.
Τώρα αντιγράψτε το περιεχόμενο και επικολλήστε εδώ για να επικυρώσετε εάν το δημιουργημένο JSON είναι έγκυρο ή όχι.
Κάνε κλικ στο Επικυρώστε το JSON κουμπί για να το επικυρώσετε. Τα ζεύγη κλειδιού-τιμής JSON θα τακτοποιηθούν και η επικύρωση θα πραγματοποιηθεί στο δεδομένο σύνολο δεδομένων.
Εκτέλεση λειτουργιών σε δεδομένα πριν την εκχώρηση σε πλήκτρα JSON
Ας υποθέσουμε ότι έχουμε κάποια δεδομένα και θέλουμε να εκτελέσουμε κάποια λειτουργία σε αυτά τα δεδομένα πριν τα εκχωρήσουμε ως τιμές στα κλειδιά JSON.
Σε μια τέτοια περίπτωση, πώς θα το κάνουμε αυτό;
Για παράδειγμα: Ας υποθέσουμε ότι το αναγνωριστικό υπαλλήλου που περάσαμε στο JSON αποτελείται από δύο μέρη, τα τρία πρώτα γράμματα δηλώνουν τον κωδικό τοποθεσίας και τα τελευταία 4 ψηφία δηλώνουν τον αριθμό υπαλλήλου. Η συνένωση και των δύο θα μας δώσει την ταυτότητα του υπαλλήλου.
Σε περίπτωση που λάβουμε χωριστά τον κωδικό τοποθεσίας και τον αριθμό υπαλλήλου, τότε θα πρέπει να τους συνδυάσουμε μαζί για να σχηματίσουμε ένα αναγνωριστικό υπαλλήλου. Μόνο τότε μπορούμε να το περάσουμε μέσω του JSON.
Για να ξεπεράσουμε αυτόν τον τύπο σεναρίων, πρέπει να εκτελέσουμε λειτουργίες στα δεδομένα προτού τα αντιστοιχίσουμε σε ένα κλειδί.
Ας ρίξουμε μια ματιά στο πώς μπορεί να γίνει αυτό.
Ας επιστρέψουμε στην τάξη των υπαλλήλων μας και να δημιουργήσουμε μια άλλη τάξη, μέσα στην οποία θα εκτελέσουμε όλες τις λειτουργίες.
Εδώ θα δημιουργήσουμε μια άλλη τάξη που θα περιέχει και θα εκτελεί τις λειτουργίες στα δεδομένα των υπαλλήλων.
Ας δημιουργήσουμε μια νέα τάξη 'EmployeeData'.
Το μάθημα έχει δημιουργηθεί και τώρα ας δημιουργήσουμε μια μέθοδο με καθορισμό δημόσιας πρόσβασης και τύπο επιστροφής ως κατηγορία 'Υπάλληλος'. Παρέχουμε το όνομα της μεθόδου ως 'EmployeeDataOps' . Ωστόσο, μπορείτε να δώσετε το δικό σας όνομα. Για να το κάνω αυτό πιο απλό, δεν περνά καμία παράμετρο σε αυτήν τη μέθοδο.
Όπως περιγράψαμε τον τύπο επιστροφής ως τάξη, θα πρέπει να επιστρέψουμε μια παρουσία της τάξης υπαλλήλων. Για να το κάνουμε αυτό, θα δημιουργήσουμε ένα αντικείμενο κλάσης μέσα στη μέθοδο.
Εδώ, έχουμε δημιουργήσει ένα αντικείμενο για την κατηγορία υπαλλήλων με το όνομα EmpObj και στο τέλος της μεθόδου, έχουμε επιστρέψει το αντικείμενο.
Ας ορίσουμε δύο ακέραιους αριθμούς εντός της κλάσης EmployeeData που αντιπροσωπεύουν τον πλήρη κωδικό θέσης και τον αριθμό υπαλλήλου. Μόλις δηλωθεί, θα το χρησιμοποιήσουμε για την εκτέλεση λειτουργιών και, στη συνέχεια, θα αντιστοιχίσουμε τιμές στα αντίστοιχα κλειδιά.
int locationCode = 569; int employeeNumber = 8523;
Τώρα, καθώς έχουμε τον κωδικό τοποθεσίας και τον αριθμό υπαλλήλου, μπορούμε να εκτελέσουμε εργασίες σε αυτούς για να βρούμε το αναγνωριστικό υπαλλήλου. Για να το κάνουμε αυτό, θα γράψουμε έναν απλό κώδικα για να συνδυάσουμε και τους δύο ακέραιους.
int empID = int.Parse(locationCode.ToString() + employeeNumber.ToString());
Αυτό απλώς θα συνενώσει και τους δύο ακέραιους σχηματισμούς του προσωπικού ID. Αποθηκεύσαμε το αναγνωριστικό υπαλλήλου κάτω από τη μεταβλητή 'ΕΜΠΙΔ' , και τώρα θα μεταδώσουμε αυτήν τη μεταβλητή στο 'karyawanID' στο EmpObj.
Employee EmpObj = new Employee(); EmpObj.employeeID = empID; return EmpObj;
Ολόκληρος ο δείκτης κώδικα θα φαίνεται όπως φαίνεται παρακάτω:
ποια είναι η διαφορά μεταξύ linux και unix
Παρατηρήσατε ότι καταργήσαμε την τιμή που είχαμε εκχωρήσει προηγουμένως στη μεταβλητή υπαλλήλου στην κατηγορία υπαλλήλων; Το κάναμε αυτό καθώς επιστρέφουμε την τιμή από Υπάλληλος DataOps () μέθοδος. Ως εκ τούτου, τα δεδομένα για τις μεταβλητές θα τροφοδοτηθούν από την ίδια τη μέθοδο. Αυτό καταργεί την ανάγκη άμεσης δήλωσης τιμών.
ερωτήσεις και απαντήσεις συνέντευξης για πεπειραμένους
Καθώς τελειώνουμε με τη μέθοδο τώρα, θα χρειαστεί να προσθέσουμε μια παρουσία αυτής της μεθόδου στην κύρια μέθοδο, έτσι ώστε αυτή η μέθοδος να μπορεί να κληθεί.
Για να το κάνουμε αυτό θα δημιουργήσουμε ένα άλλο αντικείμενο κλάσης στην κύρια μέθοδο για 'EmployeeData' τάξη.
EmployeeData empData = new EmployeeData();
Μόλις δημιουργήσουμε ένα αντικείμενο κλάσης, θα εκχωρήσουμε τώρα τη μέθοδο μέσα σε αυτήν την τάξη στο αντικείμενο Emp που δημιουργήσαμε νωρίτερα για την τάξη υπαλλήλων.
emp = empData.EmployeeDataOps();
Τέλος, ο κώδικας μέσα στην κύρια μέθοδο θα μοιάζει με αυτό:
Ας βάλουμε μερικά δεδομένα δοκιμής:
Κωδικός τοποθεσίας = 123
Αριθμός υπαλλήλου = 9874
Θα βάλουμε αυτά τα δεδομένα στον κώδικα και με τις τελικές αλλαγές στην κύρια μέθοδο. Τώρα συμπληρώσαμε τον κωδικό μας. Τώρα, ας τρέξουμε τον κωδικό και επικυρώσουμε το JSON μας.
Αυτό είναι το JSON που δημιουργήθηκε:
Όπως μπορείτε να δείτε, η νέα συνενωμένη τιμή για το αναγνωριστικό υπαλλήλου έχει εισαχθεί στην τιμή JSON.
Ας αντιγράψουμε και επικολλήσουμε αυτό το JSON εδώ να επικυρώσει τη δομή του. Τοποθετήστε το κείμενο στον ιστότοπο JSON χνούδι.
Χρησιμοποιήστε το κουμπί επικύρωσης για να επικυρώσετε τη δομή όπως φαίνεται παρακάτω:
Δημιουργία δομής ένθετου JSON
Το παράδειγμα που συζητήσαμε μέχρι τώρα χρησιμοποιεί κυρίως συμβολοσειρές και αριθμητικές τιμές μέσα σε έναν πίνακα ή αντικείμενο. Αλλά το JSON μπορεί επίσης να χρησιμοποιηθεί για να εκφράσει ένα ολόκληρο αντικείμενο JSON χρησιμοποιώντας την ίδια έννοια με ένα στοιχείο πίνακα. Τα μέλη αντικειμένων μέσα στη λίστα μπορούν να χρησιμοποιούν τα δικά τους αντικείμενα και τα πλήκτρα πίνακα.
Στην Εισαγωγή στο JSON που είναι ένα από τα προηγούμενα μαθήματά μας, ρίξαμε μια πρώτη ματιά στο πώς μοιάζει ένα ένθετο JSON. Σε αυτό το σεμινάριο, υποθέτουμε ότι ο υπάλληλος έχει επίσης ένα Αυτοκίνητο και το JSON θα πρέπει να περιέχει επίσης όλες τις λεπτομέρειες για το αυτοκίνητο του υπαλλήλου.
Έτσι, η δομή JSON που έχουμε στο τέλος θα είναι παρόμοια με αυτήν:
Εδώ, έχουμε τον υπάλληλο JSON με όλα τα δεδομένα, και στη συνέχεια έχουμε ένα αντικείμενο Car JSON τοποθετημένο μέσα στον υπάλληλο JSON. Το αντικείμενο αυτοκινήτου έχει το δικό του σύνολο κλειδιών και τιμών.
Ας προσπαθήσουμε να δημιουργήσουμε αυτό το JSON μέσω προγραμματισμού.
Για αυτό, θα ξεκινήσουμε με το ίδιο JSON που δημιουργήσαμε στο προηγούμενο σεμινάριό μας. Για να το κάνουμε ευκολότερο, θα δημιουργήσουμε το νέο αντικείμενο JSON (π.χ. Car JSON) σε μια νέα τάξη. Θα προσθέσουμε ένα νέο αυτοκίνητο κατηγορίας και θα προσθέσουμε όλα τα αντικείμενα μέσα σε αυτήν την τάξη με έναν προσδιοριστή δημόσιας πρόσβασης.
Τώρα, μπορούμε είτε να προσθέσουμε την τιμή απευθείας εδώ είτε να γράψουμε μια νέα τάξη και να δημιουργήσουμε μια προσαρμοσμένη μέθοδο με έναν τύπο επιστροφής αντικειμένου κλάσης για να εκχωρήσουμε τις τιμές παρόμοιες με αυτές που κάναμε στο προηγούμενο σεμινάριο. Για λόγους ευκολίας, θα αντιστοιχίσουμε την τιμή απευθείας στις βασικές μεταβλητές.
Τώρα έχουμε δημιουργήσει μια νέα τάξη με τα αντικείμενα και τις τιμές. Στο επόμενο βήμα, θα το προσθέσουμε στη δομή υπαλλήλου JSON, έτσι ώστε όταν συμβαίνει η σειριοποίηση JSON, οι τιμές-κλειδιά από την κλάση αυτοκινήτου θα πρέπει επίσης να σειριοποιηθούν μαζί με την κλάση υπαλλήλων ως ένθετο JSON.
Για να το κάνουμε αυτό, πρώτα, θα χρειαστεί να προσθέσουμε ένα αυτοκίνητο αντικειμένου τύπου κατηγορίας στην κατηγορία υπαλλήλων. Αυτό το αντικείμενο θα χρησιμοποιηθεί για την αποθήκευση των τιμών που υπάρχουν στην κατηγορία Car.
Όπως φαίνεται παραπάνω, έχουμε αντιστοιχίσει τη νέα μεταβλητή με τύπο δεδομένων ως κλάση αυτοκινήτου. Τώρα ας πάμε στη μέθοδο EmployeeDataOps () που δημιουργήσαμε μέσα στην τάξη EmployeeData. Θα γράψουμε τον κωδικό για να καλέσουμε τις μεταβλητές και τις τιμές από την κατηγορία Car.
Αρχικά, ας δημιουργήσουμε ένα αντικείμενο κλάσης για την κατηγορία αυτοκινήτου:
Car carObj = new Car();
Αυτό το αντικείμενο θα περιέχει όλα τα δεδομένα από την κατηγορία αυτοκινήτου. Μόλις δηλώσουμε όλα τα δεδομένα από την κατηγορία αυτοκινήτου σε αυτό το αντικείμενο, το επόμενο βήμα θα είναι να αντιστοιχίσουμε αυτά τα δεδομένα (δεδομένα που περιέχονται μέσα στο αντικείμενο του αυτοκινήτου) στη μεταβλητή αυτοκινήτου που δημιουργήσαμε για τη διατήρηση αυτών των δεδομένων.
Για να γίνει αυτό, θα χρησιμοποιήσουμε απλώς το αντικείμενο υπαλλήλου που δημιουργήσαμε για πρόσβαση στη μεταβλητή αυτοκινήτου. Και τότε μπορούμε να αντιστοιχίσουμε άμεσα το αντικείμενο του αυτοκινήτου με τα δεδομένα στη μεταβλητή του αυτοκινήτου.
EmpObj.car = carObj;
Αυτό είναι. Έχουμε δημιουργήσει μια μεταβλητή σε μια τάξη και μετά δημιουργήσαμε ένα άλλο αντικείμενο για πρόσβαση στην τιμή από μια άλλη τάξη και μετά αντιστοιχίσαμε την τιμή στην πρώτη μεταβλητή.
Τώρα, ας τρέξουμε το πρόγραμμά μας και να δούμε αν μπορεί να δημιουργήσει το επιθυμητό JSON.
Όπως φαίνεται παραπάνω, βλέπουμε ότι έχει δημιουργηθεί ένα κλειδί αυτοκινήτου json και περιέχει όλα τα δεδομένα που εισαγάγαμε στην κατηγορία Αυτοκίνητο ως κλειδί και τιμές. Τώρα, θα αντιγράψουμε ξανά το περιεχόμενο JSON και θα περιηγηθούμε εδώ για την επικύρωση του JSON.
Απλώς αντιγράψτε όλο το περιεχόμενο JSON στην περιοχή κειμένου και κάντε κλικ στο «Επικυρώστε το JSON Κουμπί.
Έτσι, ο ιστότοπος JSONlint τακτοποίησε τα δεδομένα μας και τα επικύρωσε τέλεια. Μπορούμε να δούμε ότι το αντικείμενο 'αυτοκίνητο' έχει τοποθετηθεί στη δομή JSON όπως χρειαζόμασταν. Χρησιμοποιώντας την ίδια διαδικασία, μπορείτε να δημιουργήσετε πολλά επίπεδα ένθετου JSON. Απλώς συνεχίστε να προσθέτετε το αντικείμενο JSON στην κλάση και αντιστοιχίστε την τιμή του σε μια μεταβλητή κλάσης.
Όπως μπορείτε να δείτε, δεν χρειάζεται καν να αλλάξουμε κανέναν κωδικό στην κύρια μέθοδο μας.
Χρήση ενός φύλλου Excel ως προέλευσης δεδομένων για το JSON
Στα προηγούμενα σεμινάρια μας, συζητήσαμε διάφορους τρόπους δημιουργίας διαφορετικών δομών του JSON. Υπήρχε όμως ένα μεγάλο πρόβλημα με όλες τις δομές μας, ήταν πάντα δύσκολο να κωδικοποιήσουμε τις τιμές για τα κλειδιά.
Σε αυτό το σεμινάριο, θα συζητήσουμε τους τρόπους με τους οποίους μπορούμε να χρησιμοποιήσουμε ένα φύλλο excel για να τροφοδοτήσουμε τα δεδομένα με τα κλειδιά JSON. Θα σας συνιστούσα να διαβάσετε όλα τα σεμινάρια που συζητήσαμε νωρίτερα πριν προχωρήσετε σε αυτό, καθώς θα συζητήσουμε τον ίδιο κώδικα που γράψαμε στα προηγούμενα σεμινάρια.
Η μετάβαση βήμα προς βήμα θα σας βοηθήσει να κατανοήσετε ολόκληρη την ιδέα με καλύτερο τρόπο.
Ελπίζω να έχετε καταλάβει τον βασικό κώδικα για να δημιουργήσετε ένα JSON, σε αυτό το μέρος θα προωθήσουμε την ίδια δομή κώδικα.
Αρχικά, ας δημιουργήσουμε ένα αρχείο excel με δεδομένα JSON.
Δημιουργήσαμε ένα αρχείο karyawanData.xlsx με τις ακόλουθες λεπτομέρειες.
Προτού αρχίσουμε να γράφουμε τον κώδικα για την εξαγωγή τιμών από το excel, θα πρέπει να προσθέσουμε μια αναφορά συναρμολόγησης στο έργο μας. Για πρόσβαση στο αντικείμενο του γραφείου, το C # μας προσφέρει το Microsoft Office Interop. Αυτά είναι αρκετά χρήσιμα στην παροχή εύκολης πρόσβασης στα αντικείμενα του γραφείου.
πόσο διαφορετικό είναι το c από το c ++
Καθώς χρησιμοποιούμε το Excel σε αυτό το έργο, θα χρησιμοποιήσουμε το Microsoft Office Interop Excel.
Για να το εγκαταστήσετε, κάντε δεξί κλικ στις Αναφορές στον εξερευνητή λύσης και, στη συνέχεια, επιλέξτε Διαχείριση πακέτων NuGet . Γράψτε το Microsoft Office Interop Excel στη γραμμή αναζήτησης και το αποτέλεσμα αναζήτησης θα εμφανίσει το απαιτούμενο πακέτο.
Μόλις λάβετε το Microsoft Office Interop Excel κάντε κλικ στο Κουμπί εγκατάστασης για να το εγκαταστήσετε.
Μόλις ολοκληρωθεί η εγκατάσταση, μπορείτε να δείτε ότι το Microsoft Office Interop Excel έχει προστεθεί στη λίστα των αναφορών συναρμολόγησης στο έργο.
Αρχικά, ας αντιστοιχίσουμε πρώτα τα διαφορετικά στοιχεία excel.
Microsoft.Office.Interop.Excel.Application xlApp; Microsoft.Office.Interop.Excel.Workbook xlWorkBook; Microsoft.Office.Interop.Excel.Worksheet xlWorkSheet;
Εδώ, έχουμε εκχωρήσει τιμές στην εφαρμογή Excel, το βιβλίο εργασίας excel και το φύλλο εργασίας excel. Μόλις καθοριστούν, θα τα χρησιμοποιήσουμε στα επόμενα βήματα για να αποκτήσουμε πρόσβαση στις τιμές στο φύλλο excel.
Ποια είναι τα βήματα που ακολουθούμε γενικά, εάν θέλουμε να πάρουμε μια τιμή από ένα φύλλο excel;
Πρώτα, έχουμε πρόσβαση στην εφαρμογή excel, μετά ανοίγουμε το βιβλίο εργασίας excel και το φύλλο εργασίας excel και αργότερα εντοπίζουμε το στοιχείο με βάση τις τιμές της γραμμής και της στήλης. Θα κάνουμε κάτι παρόμοιο εδώ.
Αυτός ο κωδικός θα έχει πρόσβαση στην εφαρμογή excel.
xlApp = new Microsoft.Office.Interop.Excel.Application();
Αυτός ο κωδικός θα ανοίξει το βιβλίο εργασίας με το δεδομένο όνομα να υπάρχει στη δεδομένη τοποθεσία.
xlWorkBook = xlApp.Workbooks.Open(@'D:json employeeData.xlsx', 0, true, 5, '', '', true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, ' ', false, false, 0, true, 1, 0);
Τώρα, θα γράψουμε έναν κωδικό για πρόσβαση στο συγκεκριμένο φύλλο εργασίας μέσα στο βιβλίο εργασίας. Έχουμε ένα φύλλο εργασίας με το όνομα 'Sheet1' (το προεπιλεγμένο όνομα στο φύλλο excel)
xlWorkSheet = (Microsoft.Office.Interop.Excel.Worksheet)xlWorkBook.Worksheets('Sheet1');
Καθώς έχουμε αποκτήσει πρόσβαση στο φύλλο εργασίας, τώρα το επόμενο βήμα θα είναι να βρούμε τη σωστή στήλη και τα σωστά δεδομένα. Πρώτον, θα αναζητήσουμε μια στήλη με το «Κλειδί».
Για παράδειγμα, Αρχικά, ας αναζητήσουμε τη στήλη με τιμή ως 'FirstName'. Μόλις βρούμε την τιμή, θα εξαγάγουμε τον αριθμό της στήλης. Στη συνέχεια, όπως γνωρίζουμε ότι η πρώτη σειρά περιέχει την επικεφαλίδα και η δεύτερη σειρά περιέχει τα δεδομένα μας, έτσι, θα χρησιμοποιήσουμε τον αριθμό στήλης και τον αριθμό σειράς για να εξαγάγουμε τα ακριβή δεδομένα.
Αυτό θα αποθηκεύσει τον αριθμό στήλης για το FirstName στη μεταβλητή.
var colmnVal = xlWorkSheet.Columns.Find('FirstName').Cells.Column;
Τώρα, θα χρησιμοποιήσουμε τον αριθμό στήλης του FirstName για να εξαγάγουμε την τιμή από το κελί κάτω από αυτό. Όπως γνωρίζετε, η μέθοδος τιμής θα επιστρέψει μόνο τον τύπο συμβολοσειράς, έτσι θα το αποθηκεύσουμε σε μια μεταβλητή συμβολοσειράς.
string frstName = xlWorkSheet.Cells(2, colmnVal).Text.ToString();
Τώρα, έχουμε την τιμή του Όνομα αποθηκευμένο στη μεταβλητή. Έτσι, θα χρησιμοποιήσουμε το αντικείμενο υπαλλήλου που ορίσαμε στη μέθοδο μας για να εκχωρήσουμε την τιμή.
Καταργήστε όλες τις τιμές που έχετε εκχωρήσει / κωδικοποιήσει στην κατηγορία υπαλλήλων, καθώς θα επιστρέψουμε τις τιμές χρησιμοποιώντας τη μέθοδο μας.
Αλλά υπάρχει ένα ζήτημα με αυτό, το '.Κείμενο' Η συνάρτηση επιστρέφει πάντα μια τιμή συμβολοσειράς. Επομένως, εάν θέλουμε να εξαγάγουμε την τιμή ενός αναγνωριστικού υπαλλήλου που είναι ακέραιος, θα εξαχθεί επίσης ως συμβολοσειρά. Έτσι, θα πρέπει να μετατρέψουμε αυτήν τη συμβολοσειρά σε ακέραιο πριν την αντιστοιχίσουμε στο αντικείμενο JSON. Για να το κάνουμε αυτό, θα αναλύσουμε άμεσα την τιμή σε ακέραιο.
Έτσι, ο κώδικας για τον υπάλληλο ID θα φαίνεται όπως φαίνεται παρακάτω:
var colmnEmpID = xlWorkSheet.Columns.Find('employeeID').Cells.Column; string emplyID = xlWorkSheet.Cells(2, colmnEmpID).Text.ToString(); int emplyIDint = Int32.Parse(emplyID);
Στο τέλος, θα αναλύσουμε την τιμή συμβολοσειράς σε ακέραιο, καθώς το JSON αναγνωρίζει το υπάλληλο ID ως ακέραια τιμή.
Έτσι, ο συνολικός κώδικας για τη λήψη δεδομένων για όλες τις 4 στήλες θα φαίνεται όπως φαίνεται παρακάτω:
Τώρα, το μόνο που πρέπει να κάνουμε είναι να αντιστοιχίσουμε τις μεταβλητές που δημιουργήσαμε με τα δεδομένα από το φύλλο excel στα αντικείμενα του υπαλλήλου.
Όλα είναι έτοιμα, θα κατασκευάσουμε τώρα το έργο. Μόλις ολοκληρωθεί η κατασκευή, θα εκτελέσουμε το πρόγραμμα για τη δημιουργία του JSON.
Θα δημιουργηθεί το ακόλουθο JSON:
Τώρα, ας συγκρίνουμε τα δεδομένα από το JSON με αυτά στο φύλλο excel.
Όπως φαίνεται παραπάνω, τα δεδομένα JSON ταιριάζουν με τα δεδομένα και στις 4 στήλες του φύλλου excel. Ας επικυρώσουμε το JSON που δημιούργησε το πρόγραμμά μας. Για να το κάνουμε αυτό θα επισκεφθούμε ξανά εδώ . Απλώς αντιγράψτε όλο το περιεχόμενο JSON στην περιοχή κειμένου και κάντε κλικ στο 'Επικύρωση JSON' κουμπί.
Χέρεϊ! Δημιουργήσαμε ένα έγκυρο JSON χρησιμοποιώντας τα δεδομένα από το excel.
Άσκηση για εσάς:
Δημιουργήστε ένα ένθετο JSON τριών επιπέδων. Δημιουργήστε μια γονική εταιρεία JSON και τοποθετήστε τον υπάλληλο JSON που δημιουργήσαμε νωρίτερα μαζί με το αυτοκίνητο JSON.
συμπέρασμα
Φτάσαμε τώρα στο τέλος του σεμιναρίου μας. Ήταν ένα μακρύ σεμινάριο, αλλά μάθαμε πολλά πράγματα. Μάθαμε πώς να δημιουργούμε ένα απλό JSON χρησιμοποιώντας c # προγραμματισμό και τα οφέλη της κατηγοριοποίησης διαφορετικών συνόλων δεδομένων JSON σε διαφορετική τάξη. Χρησιμοποιήσαμε επίσης τις δεξιότητές μας προγραμματισμού για να προσθέσουμε πίνακες και ακόμη μια άλλη δομή JSON μέσα σε ένα γονικό JSON.
Τέλος, εργαστήκαμε για τους τρόπους ανάκτησης δεδομένων από άλλη πηγή δεδομένων για να τροφοδοτήσουμε τις τιμές στα κλειδιά JSON.
Ελπίζω όλοι να απολαύσατε ολόκληρη τη σειρά μαθημάτων JSON μέχρι στιγμής.
Εκμάθηση # 4: Χρησιμοποιώντας το JSON για δοκιμές διασύνδεσης
Συνιστώμενη ανάγνωση
- Πώς να δημιουργήσετε αντικείμενα JSON χρησιμοποιώντας C # Code (JSON Creation Part 1)
- Κορυφαίες ερωτήσεις και απαντήσεις συνέντευξης JSON
- Χρησιμοποιώντας το JSON για δοκιμές διασύνδεσης
- JSON Tutorial: Εισαγωγή και ένας πλήρης οδηγός για αρχάριους
- Δομή δεδομένων ουράς σε C ++ με απεικόνιση
- MongoDB Δημιουργία αντιγράφων ασφαλείας βάσης δεδομένων
- Δομή δεδομένων στοίβας σε C ++ με απεικόνιση
- Δομή δεδομένων κυκλικής συνδεδεμένης λίστας σε C ++ με απεικόνιση