Μορφή JSON: δημιουργία δεδομένων, χρήση με PHP και JS. JSON για αρχάριους, χρησιμοποιώντας δεδομένα javascript και jQuery Json μέσω μιας κανονικής φόρμας

Οι μεταβλητές, οι πίνακες και τα αντικείμενα είναι μια οικεία και βολική μορφή αναπαράστασης δεδομένων. Είναι σύνηθες να περιγράφονται δεδομένα στη γλώσσα του προγράμματος περιήγησης JavaScript, η οποία δεν είναι απαραίτητη στη γλώσσα διακομιστή PHP. Η μορφή JSON σας επιτρέπει να τα συνοψίσετε σε ένα σύνολο και να μην εστιάσετε στη γλώσσα προγραμματισμού. Σε αυτήν την περίπτωση, τα δεδομένα μετατρέπονται σε ζεύγη: "όνομα = τιμή". Η αξία σε καθένα από αυτά μπορεί επίσης να είναι μια συλλογή από τέτοια ζεύγη.

Συνηθίζεται να συσχετίζεται το JSON με σγουρά άγκιστρα και το τελευταίο είναι αρκετά δικαιολογημένο, αφού η μορφή JSON = Σημειογραφία αντικειμένου JavaScript. Πολλά έχουν αλλάξει τα τελευταία ιδιαίτερα δυναμικά χρόνια. Αυτό που δημιουργήθηκε για έναν συγκεκριμένο σκοπό συχνά έφερε απροσδόκητα αποτελέσματα ή άνοιγε νέους ορίζοντες.

Ανταλλαγή δεδομένων: πρόγραμμα περιήγησης - διακομιστής

Η τεχνολογία AJAX έχει γίνει παραδοσιακή, τακτική ανανέωση σελίδας εξ ολοκλήρουέπαψε να είναι δημοφιλής. Ένας επισκέπτης, ανοίγοντας έναν ιστότοπο, ξεκινά μια σειρά μερικών ανταλλαγών δεδομένων, όταν ορισμένες σελίδες αλλάζουν μόνο στο σημείο που είναι σχετικό.

Πιστεύεται ότι η εμφάνιση του JSON σχετίζεται με τη χρήση του AJAX, αλλά στην πραγματικότητα, η συσχέτιση και η σημειογραφία του αντικειμένου του (χαρακτηριστικά της σύνταξης για την περιγραφή και τη χρήση αντικειμένων) έχουν πολύ πιο σχετική σχέση με το JSON από την ανταλλαγή δεδομένων μεταξύ του προγράμματος περιήγησης και του διακομιστή.

Δεδομένου ότι το περιεχόμενο των σελίδων των σύγχρονων τοποθεσιών έχει γίνει πραγματικά «μαζικό» (ογκώδες), η αποτελεσματικότητα της μορφής ανταλλαγής δεδομένων έχει αποκτήσει ιδιαίτερη σημασία. Αυτό δεν σημαίνει ότι το JSON έχει γίνει μια νέα αναπαράσταση δεδομένων, αλλά το γεγονός ότι αποτελεί εδώ και καιρό στοιχείο της σύνταξης JavaScript είναι σημαντικό.

Η χρήση του κυριλλικού στην ονομασία μεταβλητών είναι ένα πολύ απροσδόκητο φαινόμενο (ανοησία), αλλά λειτουργεί στις τελευταίες εκδόσεις του Chrome, του Firefox, ακόμη και του Internet Explorer 11.

Κυριλλικό και JSON

Φυσικά, δεν έχει νόημα να χρησιμοποιήσουμε αυτό το εντελώς απροσδόκητο φαινόμενο, να θυμόμαστε πόσο εύκολα οι τιμές των μεταβλητών που γράφονται με ρωσικά γράμματα μετατρέπονται σε ασυναρτησίες: τι μπορούμε να πούμε για τα ονόματα, ειδικά τα εξωτερικά.

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

Δεν έχει σημασία ποια ακριβώς ήταν η βάση της συντακτικής καινοτομίας - JSON -, είναι σημαντικό ότι έδωσε το νόμιμο δικαίωμα και την πραγματική ευκαιρία να οριστεί η αντιστοιχία: "οποιοδήποτε όνομα = οποιαδήποτε αξία".

Πρέπει να αποτίσουμε φόρο τιμής στη γλώσσα JavaScript: αυτό που παρέχεται από τη σύνταξη δεν υποχρεώνει τον προγραμματιστή και δεν του επιβάλλει τίποτα. Ο προγραμματιστής χρησιμοποιεί ελεύθερα τη σύνταξη της γλώσσας για να σχηματίσει βέλτιστα ένα μοντέλο δεδομένων και έναν αλγόριθμο για τη χρήση τους.

PHP και JSON

Με την αποδοχή δεδομένων σε μορφή JSON, ο διακομιστής (ιδίως μέσω PHP) παρέχει τη δυνατότητα να τα επεξεργαστεί ως έχει και να επιστρέψει το αποτέλεσμα πίσω στο πρόγραμμα περιήγησης σε παρόμοια μορφή. Συστοιχία πηγών PHP:

  • $cJSON = πίνακας ("a"=> "alfa", "b"=> "beta", "g"=> "γάμα").

Μετατροπή σε JSON για παράδοση στο πρόγραμμα περιήγησης:

  • $cJS = json_encode($cJSON).

Αποτέλεσμα:

  • ("a":"alfa","b":"beta","g":"γάμα").

Επιτρέπεται η φωλιά που φαίνεται στη φωτογραφία.

Εδώ ο παραγόμενος πίνακας προστέθηκε με ένα νέο στοιχείο "μέσα στον εαυτό του" με τον αυτόματο δείκτη "0" και μετά ξανά με τον καθορισμένο δείκτη "z".

Η Json_decode() μετατρέπει μια συμβολοσειρά JSON σε πίνακα PHP. Παρόμοια αποτελέσματα μπορούν να επιτευχθούν με χειρισμό συναρτήσεων και explode(). Σε ορισμένες περιπτώσεις αυτή η επιλογή είναι προτιμότερη.

Επίπεδο φωλιάς

Τα στοιχεία μπορούν να ενσωματωθούν τόσο στην πλευρά του προγράμματος περιήγησης όσο και στην πλευρά του διακομιστή. Στην πράξη, η μορφή JSON (τυπική περιγραφή RFC 4627) παρέχει σημαντικά περισσότερα από 4 επίπεδα ένθεσης, αλλά αυτή η δυνατότητα δεν πρέπει να γίνεται κατάχρηση.

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

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

αρχεία JSON

Η χρήση του JSON στην πράξη συχνά δεν περιορίζεται σε μια σύντομη συμβολοσειρά αναγνώσιμη από τον άνθρωπο. Οποιαδήποτε κατασκευή δεδομένων είναι πάντα ρεαλιστική. Ταυτόχρονα, το JSON μπορεί να χρησιμοποιηθεί αποτελεσματικά τόσο σε δεδομένα πραγματικών εργασιών (προσωπικό επιχείρησης) όσο και για την υλοποίηση προσωρινών δεδομένων (cache αντικειμένων).

Προσωπικό επιχείρησης και μορφή JSON: παράδειγμα

Συνήθως μια εγγραφή για ένα άτομο είναι ένα επίθετο, όνομα, πατρώνυμο, έτος γέννησης, ειδικότητα, εκπαίδευση, ... και μερικές άλλες απλές αξίες. Ακόμη και σε ιδιαίτερα απαιτητικές εταιρείες, ένα ρεκόρ για ένα άτομο δεν θα ξεπεράσει τις δεκάδες ή δύο πεδία. Αυτό είναι αντιληπτό και μπορεί να τοποθετηθεί σε μια συμβολοσειρά βάσης δεδομένων.

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

Το JSON είναι ένα αρχείο απλού κειμένου. Η περίπτωση με τον πίνακα προσωπικού είναι αυτονόητη. Μπορείτε πάντα να το διαβάσετε. Το άνοιγμα και η επεξεργασία είναι επίσης διαθέσιμα σε οποιοδήποτε πρόγραμμα επεξεργασίας κειμένου που δεν έχει τη συνήθεια να προσθέτει τις δικές του πληροφορίες υπηρεσίας στα περιεχόμενα του αρχείου. Γενικά, το *.json είναι καθαρό κείμενο τόσο μέσα στο πρόγραμμα περιήγησης όσο και μέσα στο αρχείο - μια συμβολοσειρά.

Η φωτογραφία δείχνει την κρυφή μνήμη του αντικειμένου που σχηματίζει την εικόνα, ένα παράδειγμα.

Αυτό είναι ένα παράδειγμα του περιεχομένου ενός αρχείου που δημιουργήθηκε από έναν ιστότοπο που παρέχει έγχρωμη τρισδιάστατη εκτύπωση σε κούπες και κεραμικά. Φυσικά, το να έχετε μια τέτοια μορφή JSON, το να αποφασίσετε πώς να το ανοίξετε είναι πραγματικά προβληματικό. Ωστόσο, σε αυτήν και σε παρόμοιες περιπτώσεις δεν υπάρχουν προβλήματα με την ανάγνωση του αρχείου: η PHP διαβάζει το αρχείο, το αναλύει και το περνά στο πρόγραμμα περιήγησης. Τα δεδομένα που άλλαξε ο επισκέπτης επιστρέφονται στον διακομιστή και εγγράφονται.

Σε αυτήν την περίπτωση χρήσης, το αρχείο λειτουργεί ως μεταβλητή που αποθηκεύεται εκτός του κώδικα. Εάν είναι απαραίτητο, η μεταβλητή λαμβάνει μια τιμή από το αρχείο και εάν αλλάξει από τον επισκέπτη στο διάλογο που παρέχεται από τον ιστότοπο, τότε όλες οι αλλαγές θα καταγραφούν ως έχουν. Δεν χρειάζεται να διαβάσετε και να ελέγξετε τα περιεχόμενα του αρχείου.

Το JSON χρησιμοποιείται συχνά για την αποθήκευση και τη χρήση πληροφοριών υπηρεσίας - αυτός δεν είναι πίνακας προσωπικού και ούτε ο προγραμματιστής ούτε ο επισκέπτης του ιστότοπου χρειάζεται να το δει.

XML και JSON

«Υπάρχει χρόνος για όλα» είναι μια κλασική γνώση που έγινε αποδεκτή ως αξίωμα ακόμη και πριν από την εμφάνιση του προγραμματισμού. "Τίποτα δεν εμφανίζεται" - αυτό συνέβη επίσης πριν ο άνθρωπος γράψει το πρώτο κατανοητό πρόγραμμα σε μια τεχνητή γλώσσα.

Οι μορφές δεδομένων προκύπτουν από πραγματικές ανάγκες και βασίζονται στην αποκτηθείσα γνώση. Η HTML έχει τη δική της διαδρομή, η XML έχει τη δική της διαδρομή και το JSON είναι η λογική αντικειμένου JavaScript που επεκτείνεται σε άλλες γλώσσες. Το να συγκρίνεις το ένα με το άλλο δεν είναι το καλύτερο. Στον καθένα το δικό του.

Η XML αντιμετωπίζει θαυμάσια τα καθήκοντά της και προφανώς δεν πρόκειται να γίνει ιστορία. Και το JSON χρησιμοποιήθηκε μέχρι το 2006· απλώς δεν θεωρούσε κάθε προγραμματιστής καθήκον του να δηλώσει ορισμένες επιλογές για την αναπαράσταση των δεδομένων του.

Υπήρξαν περιπτώσεις στην πράξη που γράφτηκαν προγράμματα σε BASIC που δεν χρησιμοποιούσαν JSON ως τέτοια, αλλά αποθήκευαν τέλεια ζεύγη «όνομα = τιμή» και τα έκαναν διαθέσιμα στους σωστούς αλγόριθμους την κατάλληλη στιγμή.

Ειδικοί χαρακτήρες ("`", "~", "|", ...) και μορφές δεδομένων

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

Οι λειτουργίες join/split της γλώσσας JavaScript και implode/explode της γλώσσας PHP σάς επιτρέπουν να χρησιμοποιείτε εύκολα και αποτελεσματικά τόσο τις μορφές δεδομένων XML, JSON όσο και τη δική σας έκδοση. Το τελευταίο είναι συχνά βέλτιστο, ενώ τα δύο πρώτα είναι ιδανικά για επιλογές γενικής χρήσης. Εάν οι πληροφορίες μεταφέρονται σε άλλον προγραμματιστή, διακομιστή, αρχείο ή βάση δεδομένων, δεν υπάρχει καλύτερος τρόπος εύρεσης XML και JSON. Όλοι συνεργάζονται μαζί τους, επομένως η μετάδοση/λήψη πληροφοριών δεν απαιτεί σχόλια.

Χρήση JSON στο Android

Η ανάγνωση και η εγγραφή δεδομένων σε μορφή JSON στο Android δεν είναι μόνο ο κανόνας, αλλά υπάρχουν επίσης πολλά αντικείμενα που επικεντρώνονται στην εργασία με τη συγκεκριμένη μορφή δεδομένων.

Σε αυτήν την περίπτωση, χρησιμοποιείται η μορφή JSON. Αυτό μπορεί να είναι αλήθεια, αλλά το ερώτημα δεν είναι η φαινομενικότητα των κοινωνικών δικτύων, αλλά το γεγονός ότι η παρουσίαση πληροφοριών στη μορφή «όνομα = τιμή» είναι πραγματικά βολική τόσο για προγραμματισμό όσο και για χρήση. Σε αντίθεση με την αυστηρή και πολύπλοκη "XML", αυτή είναι μια πραγματικά φιλική προς τον άνθρωπο μορφή.

Συνειρμικοί πίνακες

Συμβαίνει ότι οι μεταβλητές πρέπει να περιγράφονται (JavaScript) ή τουλάχιστον να καθοριστεί μια αρχική τιμή (PHP). Και στις δύο περιπτώσεις, η μεταβλητή μπορεί να αλλάξει τον τύπο της πολύ εύκολα. Η γλώσσα εκτελεί αυτήν τη μετατροπή αυτόματα εάν είναι απαραίτητο.

Αλλά γιατί η μεταβλητή να μην αλλάξει επίσης το όνομά της, να εμφανιστεί κατά την εκτέλεση του αλγορίθμου και να εξαφανιστεί όταν δεν είναι πλέον απαραίτητη; Οι συσχετιστικοί πίνακες λύνουν αυτό το πρόβλημα, αλλά στη συνέχεια όταν χρησιμοποιούνται τέτοιες σχετικά δυναμικές μεταβλητές, το όνομα του πίνακα και οι αντίστοιχες συντακτικές κατασκευές θα ακολουθήσουν όπου χρησιμοποιούνται.

Αυτή η περίσταση είναι ιδιαίτερα έντονη στην PHP, αλλά μπορείτε να την ανεχτείτε, όπως, πράγματι, με το σύμβολο "$" στο όνομα της μεταβλητής και τον συνδυασμό "$this->" μέσα στο αντικείμενο. Προγραμματισμός σε JavaScript και PHP ταυτόχρονα, στην αρχή πραγματικά εκπλήσσεσαι με το πόσο διαφορετικά είναι όλα, αλλά μετά όλα γίνονται τόσο οικεία και φυσικά...

Associative Array -> JSON

Σε αυτό το παράδειγμα, δημιουργείται ένα έγγραφο *.docx χρησιμοποιώντας τη βιβλιοθήκη PHPOffice/PHPWord και ο πίνακας aProperties περιέχει τις ιδιότητες αυτού του εγγράφου (συγγραφέας, εταιρεία, τίτλος, κατηγορία, ημερομηνία δημιουργίας...).

Ο δεύτερος πίνακας περιέχει δεδομένα για τη σελίδα:

  • προσανατολισμός (τοπίο ή κανονικό).
  • κάθετες και οριζόντιες διαστάσεις.
  • εσοχές (περιθώρια αριστερά, πάνω, κάτω, δεξιά).
  • κεφαλίδες και υποσέλιδα.

Το έγγραφο δημιουργείται στον διακομιστή όπου είναι εγκατεστημένη η βιβλιοθήκη PHPOffice/PHPWord. Ο ιστότοπος σάς επιτρέπει να διαχειρίζεστε τις τιμές αυτών των συστοιχιών χρησιμοποιώντας JavaScript. Το αποτέλεσμα σε μορφή JSON επιστρέφει πίσω στον διακομιστή και χρησιμοποιείται σε αλγόριθμους PHP, στις κατασκευές του, δηλαδή σε πίνακες.

Δυναμικές Μεταβλητές

Η μορφή JSON λύνει το πρόβλημα των δυναμικών μεταβλητών. Εδώ μπορείτε να δημιουργήσετε, να αλλάξετε και να διαγράψετε μεταβλητές χωρίς περιττή συντακτική ακαταστασία. Φαίνεται ωραίο και χρησιμοποιείται σε JavaScript.

Σε αυτό το παράδειγμα, η συνάρτηση GetOjInfo() ανακτά το όνομα και την τιμή της τιμής από ένα αντικείμενο. Αρχικά, το αντικείμενο συμβολοσειράς JSON που έχει εκχωρηθεί στη μεταβλητή ojInfo έχει τρία στοιχεία: Όνομα, ηλικία και εργασία. Λίγο αργότερα προστίθεται η μεταβλητή Status.

Μετά τον πρώτο τελεστή διαγραφής, η γραμμή ojInfo χάνει το στοιχείο ηλικίας, μετά τη δεύτερη διαγραφή χάνει το στοιχείο εργασίας. Αν υποθέσουμε ότι αυτή η συμβολοσειρά είναι μια επιλογή μεταβλητών που έχουν ένα συγκεκριμένο νόημα, τότε χρησιμοποιώντας το JSON μπορείτε πραγματικά να δημιουργήσετε, να αλλάξετε και να διαγράψετε οποιαδήποτε σύνολα από αυτά έξω από το λειτουργικό πεδίο (σύνταξη) της περιγραφής και της επεξεργασίας της γλώσσας JavaScript.

Η μορφή JSON δεν σχεδιάστηκε για αυτήν την επιλογή, αλλά είναι δυνατή, πρακτική και βολική.

Η JavaScript μας επιτρέπει όχι μόνο να προσθέτουμε διαδραστικότητα σε ιστοσελίδες, αλλά καθιστά δυνατή την εκτέλεση εργασιών που κάποτε ήταν ευθύνη των διακομιστών. Το JSON παρέχει έναν εύκολο τρόπο δημιουργίας και αποθήκευσης δομημένων δεδομένων σε JavaScript. Το JSON είναι πολύ δημοφιλές και είναι μια εξαιρετική εναλλακτική της XML. Το JSON (JavaScript Object Notation), όπως υποδηλώνει το όνομα, βασίζεται στη δημιουργία αντικειμένων javascript. Τα αντικείμενα JavaScript μπορούν εύκολα να χειριστούν και να αναλυθούν χρησιμοποιώντας την ίδια JavaScript.

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

var data=( "firstName" : "Ray" ); alert(data.firstName);

Πρώτα, δημιουργούμε μια μεταβλητή για τη διατήρηση των δεδομένων μας και, στη συνέχεια, χρησιμοποιούμε JSON για να ορίσουμε ένα αντικείμενο. Το αντικείμενο μας είναι αρκετά απλό: ένα πεδίο firstName και μια τιμή Ray. Οι συμβολοσειρές στο JSON πρέπει να περικλείονται σε εισαγωγικά. Εάν χρησιμοποιείτε αριθμούς, τα εισαγωγικά είναι προαιρετικά.

Αυτό το παράδειγμα θα εμφανίσει την τιμή της ιδιότητας firstName στο πρόγραμμα περιήγησης.

Δημιουργία αντικειμένου κράτησης θέσης

Ας δημιουργήσουμε ένα πιο ρεαλιστικό παράδειγμα: εισάγουμε τα δεδομένα JSON μας σε ένα αντικείμενο DOM.

var data=("firstName":"Ray"); document.getElementById("placeholder").innerHTML=data.firstName;

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

data=( "firstName":"Ray", "lastName":"Villalobos", "joined":2012 ); document.getElementById("placeholder").innerHTML=data.firstName+" "+data.lastName+" "+data.joined;

Σημειώστε ότι τα δεδομένα JSON είναι μορφοποιημένα με συγκεκριμένο τρόπο για καλύτερη κατανόηση. Το πεδίο "joined" έχει την τιμή 2012, η ​​οποία δεν απαιτεί εισαγωγικά αφού είναι αριθμός. Ας δούμε κάτι πιο σύνθετο.

Προσθήκη πινάκων

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

Var data=("users":[ ( "firstName":"Ray", "lastName":"Villalobos", "joined":2012 ), ( "firstName":"John", "lastName":"Jones", "joined":2010 ) ]) document.getElementById("placeholder").innerHTML=data.users.firstName + " " + data.users.lastName+" "+ data.users.joined;

Φαίνεται λίγο περίπλοκο, αλλά στην πραγματικότητα δεν είναι δύσκολο να γίνει κατανοητό. Ένα αντικείμενο JSON δημιουργείται χρησιμοποιώντας σγουρά άγκιστρα. δημιουργείται ένας πίνακας χρησιμοποιώντας αγκύλες. Έτσι, για να οργανώσουμε τα δεδομένα μας, δημιουργήσαμε ένα αντικείμενο χρηστών, στο οποίο τοποθετήσαμε έναν πίνακα. Ο πίνακας περιέχει άλλα αντικείμενα. Κάθε ζεύγος (όνομα/τιμή) χωρίζεται με κόμμα.

Παρατηρήστε πώς έχει αλλάξει ο κωδικός για την εισαγωγή του ονόματος. Συνδέσαμε το αντικείμενο των νέων χρηστών και στη συνέχεια χρησιμοποιήσαμε αγκύλες για να δείξουμε το πρώτο στοιχείο του πίνακα. Ας προσθέσουμε ένα ακόμη επίπεδο στη δομή των δεδομένων μας.

Var data=("users":[ ( "firstName":"Ray", "lastName":"Villalobos", "joined": ( "month":"January", "day":12, "year":2012 ) ), ( "firstName":"John", "lastName":"Jones", "joined": ( "month":"April", "day":28, "year":2010 ) ) ]) έγγραφο. getElementById("placeholder").innerHTML=data.users.firstName + " " + data.users.lastName+"--"+ data.users.joined.month;

Η ενωμένη ιδιότητα περιέχει τώρα ένα αντικείμενο με πολλά πεδία. Δεν χρειάζεται να χρησιμοποιήσουμε πίνακα, επομένως χρησιμοποιούμε σημειογραφία αντικειμένου. Τώρα έχουμε δεδομένα για πολλούς χρήστες, ήρθε η ώρα να περάσουμε από κάθε χρήστη και να τα εμφανίσουμε στη λίστα.

Υλοποίηση λίστας χρηστών (που διέρχονται από το αντικείμενο JSON)

Λοιπόν, ας χρησιμοποιήσουμε javascript και ας δημιουργήσουμε μια λίστα χρηστών.

Var data = ( "users":[ ( "firstName":"Ray", "lastName":"Villalobos", "joined": ( "month":"January", "day":12, "year":2012 ) ), ( "firstName":"John", "lastName":"Jones", "joined": ( "month":"April", "day":28, "year":2010 ) ) ]) var output ="

    ";) έξοδος+="
"; document.getElementById("placeholder").innerHTML=output;

Για να επαναλάβουμε όλες τις ιδιότητες ενός αντικειμένου, υπάρχει ένα for..στην κατασκευή:

For(κλειδί var στο αντικείμενο) ( // κλειδί - όνομα ιδιότητας // αντικείμενο - τιμή ιδιότητας... )

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

Ανάγνωση JSON από εξωτερικό αρχείο

Θα ήταν ωραίο να αποθηκεύσετε τα δεδομένα σε ένα εξωτερικό αρχείο και να τα διαβάσετε όπως χρειάζεται. Θα χρησιμοποιήσω τη βιβλιοθήκη jQuery και έτσι πρώτα πρέπει να συμπεριλάβουμε τη βιβλιοθήκη jQuery. τότε καλούμε τη συνάρτηση getJSON. Έτσι φαίνεται ο κώδικάς μας:

JSON Sample $.getJSON("data.json", function(data) ( var output="

    "; για (var i σε data.users) ( output+="
  • " + data.users[i].firstName + " " + data.users[i].lastName + "--" + data.users[i].joined.month+"
  • ";) έξοδος+="
"; document.getElementById("placeholder").innerHTML=output; ));

Είναι σχεδόν ο ίδιος κώδικας, αλλά τα δεδομένα παρουσιάζονται. Απλώς ολοκληρώσαμε τα πάντα με μια συνάρτηση getJSON που κάνει όλη τη σκληρή δουλειά της ανάγνωσης του αρχείου. Το αρχείο δεδομένων data.json, ας υποθέσουμε, βρίσκεται στον ίδιο κατάλογο και μοιάζει με αυτό:

("χρήστες":[ ( "firstName":"Ray", "lastName":"Villalobos", "joined": ( "month":"Ιανουάριος", "day":12, "year":2012 ) ) ( "firstName":"John", "lastName":"Jones", "joined": ( "month":"April", "day":28, "year":2010 ) ])

Όπως μπορείτε να δείτε, το JSON είναι πραγματικά εύκολο στην ανάγνωση και μόλις συνηθίσετε στις παρενθέσεις, γίνεται εύκολο να κωδικοποιηθεί.

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

Για παράδειγμα, σε αυτό το σχήμα επισημαίνεται το αρχείο my-file.json και, στη συνέχεια, πρέπει να κάνετε δεξί κλικ σε αυτό το αρχείο και να επιλέξετε την επιλογή «σάρωση με AVG» στο μενού αρχείων. Όταν κάνετε αυτήν την επιλογή, το AVG Antivirus θα ανοίξει και θα σαρώσει το αρχείο για ιούς.


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

Μερικές φορές η απλή επανεγκατάσταση του Mozilla Firefox μπορεί να λύσει το πρόβλημά σας συνδέοντας σωστά το JSON στο Mozilla Firefox. Σε άλλες περιπτώσεις, προβλήματα με συσχετίσεις αρχείων μπορεί να προκύψουν από κακό προγραμματισμό του λογισμικού από τον προγραμματιστή και μπορεί να χρειαστεί να επικοινωνήσετε με τον προγραμματιστή για περαιτέρω βοήθεια.


Συμβουλή: Δοκιμάστε να ενημερώσετε το Mozilla Firefox στην πιο πρόσφατη έκδοση για να βεβαιωθείτε ότι έχετε τις πιο πρόσφατες ενημερώσεις κώδικα και ενημερώσεις.


Αυτό μπορεί να φαίνεται πολύ προφανές, αλλά συχνά το ίδιο το αρχείο JSON μπορεί να είναι η αιτία του προβλήματος. Εάν λάβατε ένα αρχείο μέσω συνημμένου ηλεκτρονικού ταχυδρομείου ή το κατεβάσατε από έναν ιστότοπο και η διαδικασία λήψης διακόπηκε (όπως διακοπή ρεύματος ή άλλος λόγος), το αρχείο ενδέχεται να καταστραφεί. Εάν είναι δυνατόν, δοκιμάστε να λάβετε ένα νέο αντίγραφο του αρχείου JSON και δοκιμάστε να το ανοίξετε ξανά.


Προσοχή: Ένα κατεστραμμένο αρχείο μπορεί να προκαλέσει παράπλευρη ζημιά από προηγούμενο ή υπάρχον κακόβουλο λογισμικό στον υπολογιστή σας, επομένως είναι σημαντικό να διατηρείτε τον υπολογιστή σας με ενημερωμένο πρόγραμμα προστασίας από ιούς ανά πάσα στιγμή.


Εάν το αρχείο JSON σας συσχετίζεται με υλικό στον υπολογιστή σας, ίσως χρειαστεί να ενημερώσετε τα προγράμματα οδήγησης συσκευών που σχετίζονται με αυτό το υλικό για να ανοίξετε το αρχείο.

Αυτό το πρόβλημα συνήθως σχετίζεται με τύπους αρχείων πολυμέσων που εξαρτώνται από το επιτυχές άνοιγμα υλικού μέσα στον υπολογιστή, όπως κάρτα ήχου ή κάρτα βίντεο. Για παράδειγμα, εάν προσπαθείτε να ανοίξετε ένα αρχείο ήχου αλλά δεν μπορείτε να το ανοίξετε, ίσως χρειαστεί να ενημερώσετε τα προγράμματα οδήγησης της κάρτας ήχου.


Συμβουλή: Εάν λάβετε ένα μήνυμα σφάλματος που σχετίζεται με το αρχείο .SYS όταν προσπαθείτε να ανοίξετε ένα αρχείο JSON, το πρόβλημα ενδέχεται να οφείλεται σε κατεστραμμένα ή παλιά προγράμματα οδήγησης συσκευών που πρέπει να ενημερωθούν. Αυτή η διαδικασία μπορεί να γίνει ευκολότερη χρησιμοποιώντας λογισμικό ενημέρωσης προγραμμάτων οδήγησης όπως το DriverDoc.


Εάν τα βήματα δεν έλυσαν το πρόβλημα και εξακολουθείτε να αντιμετωπίζετε προβλήματα με το άνοιγμα αρχείων JSON, μπορεί να οφείλεται σε έλλειψη διαθέσιμων πόρων συστήματος. Ορισμένες εκδόσεις αρχείων JSON ενδέχεται να απαιτούν σημαντικό αριθμό πόρων (π.χ. μνήμη/RAM, επεξεργαστική ισχύ) για να ανοίξουν σωστά στον υπολογιστή σας. Αυτό το πρόβλημα είναι αρκετά κοινό εάν χρησιμοποιείτε αρκετά παλιό υλικό υπολογιστή και ταυτόχρονα ένα πολύ νεότερο λειτουργικό σύστημα.

Αυτό το πρόβλημα μπορεί να προκύψει όταν ο υπολογιστής αντιμετωπίζει προβλήματα με την εργασία, επειδή το λειτουργικό σύστημα (και άλλες υπηρεσίες που εκτελούνται στο παρασκήνιο) ενδέχεται να καταναλώνουν πάρα πολλούς πόρους για να ανοίξει το αρχείο JSON. Δοκιμάστε να κλείσετε όλες τις εφαρμογές στον υπολογιστή σας πριν ανοίξετε το Mozilla Firefox Bookmarks Backup. Η απελευθέρωση όλων των διαθέσιμων πόρων στον υπολογιστή σας θα προσφέρει τις καλύτερες συνθήκες για να προσπαθήσετε να ανοίξετε το αρχείο JSON.


Εάν έχετε ακολουθήσει όλα τα παραπάνω βήματα και το αρχείο JSON εξακολουθεί να μην ανοίγει, ίσως χρειαστεί να πραγματοποιήσετε μια ενημέρωση υλικού. Στις περισσότερες περιπτώσεις, ακόμη και όταν χρησιμοποιείτε παλαιότερες εκδόσεις υλικού, η ισχύς επεξεργασίας μπορεί να είναι ακόμη περισσότερο από επαρκής για τις περισσότερες εφαρμογές χρηστών (εκτός αν κάνετε πολλή εργασία με ένταση CPU, όπως απόδοση 3D, οικονομική/επιστημονική μοντελοποίηση ή εντατική εργασία πολυμέσων) . Επομένως, είναι πιθανό ο υπολογιστής σας να μην έχει αρκετή μνήμη (που συνήθως ονομάζεται "RAM" ή μνήμη τυχαίας πρόσβασης) για να ολοκληρώσει την εργασία ανοίγματος ενός αρχείου.

Το Json δημιουργήθηκε για JavaScript (το πλήρες όνομά του είναι JavaScript Object Notation) και είναι μια μορφή ανταλλαγής δεδομένων.

Το Json έχει βρει τη χρήση του σε διάφορες γλώσσες προγραμματισμού - για παράδειγμα, στην PHP, όπου μοιάζει με αυτό:

["1":"κίτρινο";"2":"πράσινο";"3":"γκρι"]

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

Σε αυτή την περίπτωση, ο μεταδιδόμενος πίνακας μπορεί να έχει δομή πολλαπλών επιπέδων. Η PHP έχει ένα σύνολο συναρτήσεων json που έχουν σχεδιαστεί για να δημιουργούν και να αποκωδικοποιούν τέτοιες συμβολοσειρές και να λειτουργούν αποκλειστικά με το UTF-8.

Json_encode σε php Αυτή η συνάρτηση μετατρέπει ένα αντικείμενο, έναν πίνακα ή μια μεταβλητή σε μορφή json. Το παρακάτω παράδειγμα θα μετατρέψει έναν πίνακα σε αυτήν τη μορφή. ?> Json_decode σε php Αυτή η συνάρτηση αποκωδικοποιεί τη συμβολοσειρά που έλαβε και ανάλογα με το ποια επιλογή επιλέχθηκε παίρνουμε ένα αντικείμενο ή έναν πίνακα. Η συνάρτηση έχει δύο παραμέτρους - υποχρεωτική (μια συμβολοσειρά που πρέπει να αποκρυπτογραφηθεί) και προαιρετική (αν την καθορίσετε, θα βγει ένας πίνακας, αν όχι, ένα αντικείμενο). Εξετάστε το ακόλουθο παράδειγμα. Λήψη δεδομένων από μια κλάση: Λήψη δεδομένων από έναν πίνακα: Json_last_error σε php

Αυτή η λειτουργία δεν έχει παραμέτρους. Επιστρέφει μια τιμή που προσδιορίζει την αιτία των σφαλμάτων.

  • JSON_ERROR_NONE - Δεν υπάρχουν σφάλματα
  • JSON_ERROR_SYNTAX - Σφάλμα σύνταξης
  • JSON_ERROR_UTF8 - Λανθασμένοι χαρακτήρες UTF-8, πιθανώς λανθασμένη κωδικοποίηση
  • JSON_ERROR_DEPTH - Επιτεύχθηκε το μέγιστο βάθος στοίβας
  • JSON_ERROR_STATE_MISMATCH - Μη έγκυρο ή λάθος JSON
  • JSON_ERROR_CTRL_CHAR - Έλεγχος σφάλματος χαρακτήρων, πιθανώς εσφαλμένη κωδικοποίηση

Άτομα που είναι εξοικειωμένα με τον προγραμματισμό θα αναγνωρίσουν αμέσως αρχεία με την επέκταση JSON. Αυτή η μορφή είναι μια συντομογραφία του JavaScript Object Notation και είναι ουσιαστικά μια ανταλλαγή δεδομένων που βασίζεται σε κείμενο που χρησιμοποιείται στη γλώσσα προγραμματισμού JavaScript. Αντίστοιχα, είτε εξειδικευμένο λογισμικό είτε προγράμματα επεξεργασίας κειμένου θα σας βοηθήσουν να αντιμετωπίσετε το άνοιγμα τέτοιων αρχείων.

Το κύριο χαρακτηριστικό των σεναρίων σε μορφή JSON είναι η εναλλαξιμότητα τους με τη μορφή XML. Και οι δύο τύποι είναι έγγραφα κειμένου που μπορούν να ανοίξουν από επεξεργαστές κειμένου. Ωστόσο, θα ξεκινήσουμε με εξειδικευμένο λογισμικό.

Μέθοδος 1: Altova XMLSpy

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


Αυτό το λογισμικό έχει δύο μειονεκτήματα. Το πρώτο είναι μια βάση διανομής επί πληρωμή. Η δοκιμαστική έκδοση είναι ενεργή για 30 ημέρες, αλλά για να τη λάβετε πρέπει να δώσετε όνομα και διεύθυνση email. Το δεύτερο είναι η γενική δυσκινησία: σε ένα άτομο που χρειάζεται απλώς να ανοίξει ένα αρχείο, μπορεί να φαίνεται πολύ φανταχτερό.

Μέθοδος 2: Σημειωματάριο ++

Το πολυλειτουργικό πρόγραμμα επεξεργασίας κειμένου Notepad++ είναι το πρώτο στη λίστα με τα σενάρια που είναι κατάλληλα για άνοιγμα μορφής JSON.


Το Notepad++ έχει πολλά πλεονεκτήματα - εμφανίζει τη σύνταξη πολλών γλωσσών προγραμματισμού, υποστηρίζει πρόσθετα και είναι μικρό σε μέγεθος... Ωστόσο, λόγω κάποιων λειτουργιών, το πρόγραμμα λειτουργεί αργά, ειδικά αν ανοίξετε ένα μεγάλο έγγραφο σε αυτό.

Μέθοδος 3: AkelPad

Ένα απίστευτα απλό και ταυτόχρονα πλούσιο σε δυνατότητες πρόγραμμα επεξεργασίας κειμένου από Ρώσο προγραμματιστή. Οι μορφές που υποστηρίζει περιλαμβάνουν JSON.


Όπως το Notepad++, αυτή η επιλογή σημειωματάριου είναι επίσης δωρεάν και υποστηρίζει πρόσθετα. Λειτουργεί πιο γρήγορα, αλλά τα μεγάλα και πολύπλοκα αρχεία μπορεί να μην ανοίξουν την πρώτη φορά, γι' αυτό έχετε υπόψη σας αυτήν τη δυνατότητα.

Μέθοδος 4: Επεξεργασία Komodo

Δωρεάν λογισμικό για τη σύνταξη κώδικα προγράμματος από την Komodo. Διαθέτει σύγχρονη διεπαφή και ευρεία υποστήριξη για προγραμματιστές.


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

Μέθοδος 5: Υψηλό κείμενο

Ένας άλλος εκπρόσωπος των επεξεργαστών κειμένου με προσανατολισμό κώδικα. Η διεπαφή είναι πιο απλή από αυτή των συναδέλφων της, αλλά οι δυνατότητες είναι ίδιες. Διατίθεται επίσης μια φορητή έκδοση της εφαρμογής.


Δυστυχώς, το Sublime Text δεν είναι διαθέσιμο στα ρωσικά. Το μοντέλο διανομής shareware μπορεί επίσης να ονομαστεί μειονέκτημα: η δωρεάν έκδοση δεν περιορίζεται με κανέναν τρόπο, αλλά από καιρό σε καιρό εμφανίζεται μια υπενθύμιση σχετικά με την ανάγκη αγοράς άδειας.

Μέθοδος 6: NFOPad

Ένα απλό σημειωματάριο είναι επίσης κατάλληλο για την προβολή εγγράφων με την επέκταση JSON.