Δημιουργία αρχείου json. Άνοιγμα αρχείων JSON. Δημιουργία συμβολοσειράς JSON από μεταβλητή PHP

Άτομα που είναι εξοικειωμένα με τον προγραμματισμό θα αναγνωρίσουν αμέσως αρχεία με την επέκταση 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.

Το J SON.simple είναι μια απλή βιβλιοθήκη Java για εργασία με δεδομένα σε μορφή JSON, πλήρως συμβατή με την προδιαγραφή RFC4627 - Ο τύπος μέσου εφαρμογής/json για σημειογραφία αντικειμένου JavaScript (JSON) .

Προσθήκη JSON.simple στο έργο

Για να προσθέσετε μια βιβλιοθήκη στο έργο σας, μπορείτε να την κατεβάσετε από τον επίσημο ιστότοπο του έργου .

Εάν χρησιμοποιείτε το maven, πριν συνδέσετε το JSON.simple, πρέπει να ορίσετε μια εξάρτηση:

com.googlecode.json-simple json-simple 1.1.1

Εγγραφή δεδομένων JSON σε ένα αρχείο

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

Πακέτο ru.j4web.examples.java.json.jsonsimpleexample; εισαγωγή java.io.FileWriter; εισαγωγή java.io.IOException; εισαγωγή java.util.logging.Level; εισαγωγή java.util.logging.Logger; εισαγωγή org.json.simple.JSONArray; εισαγωγή org.json.simple..json"; δημόσιο static void main(String args) (JSONObject object = new JSONObject(); object.put("name", "j4web"); object..put("age", 2 JSONArray messages (new JSONArray) messages.add("Message 3"); .toJSONString()); writer.flush() catch (IOException) (Logger.getLogger(JsonSimple.) site":"https://site","age":2,"name":"j4web","messages" ":["Message 1","Message 2","Message 3"])

Ανάγνωση δεδομένων JSON από ένα αρχείο

Ένα παράδειγμα χρήσης ενός αντικειμένου JSONParser για την ανάγνωση δεδομένων σε μορφή JSON. Ως πηγή δεδομένων θα χρησιμοποιήσουμε το αρχείο file.json που δημιουργήθηκε στο προηγούμενο παράδειγμα.

Πακέτο ru.j4web.examples.java.json.jsonsimpleparserexample; εισαγωγή java.io.FileReader; εισαγωγή java.io.IOException; εισαγωγή java.util.Iterator; εισαγωγή java.util.logging.Level; εισαγωγή java.util.logging.Logger; εισαγωγή org.json.simple.JSONArray; εισαγωγή org.json.simple.JSONObject; εισαγωγή org.json.simple.parser.JSONParser; εισαγωγή org.json.simple.parser..json"; δημόσιο static void main(String args) ( JSONParser parser = new JSONParser(); δοκιμάστε ( JSONObject αντικείμενο = (JSONObject) parser.parse(new FileReader(FILENAME)); / / Λήψη του ονόματος String name = (String) object.get("name": System.out.println("Name: " + name // Get the site String = (String) object.get("); "). μηνύματα"); System.out.println("Μηνύματα:"); .println("> " + iterator.next()); ) catch (IOException | ParseException ex) (Logger.getLogger(JsonSimpleParserExample.class.getName() ) .log(Επίπεδο.

Τι είναι το JSON και τι μπορεί να κάνει; Σε αυτό το άρθρο, θα μάθετε πώς να χρησιμοποιείτε το JSON για εύκολη εργασία με δεδομένα. Θα εξετάσουμε επίσης τον τρόπο εργασίας με JSON χρησιμοποιώντας PHP και JavaScript.

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

Σε αυτό το άρθρο θα μάθουμε τα βασικά της εργασίας με τη μορφή json. Θα ακολουθήσουμε τα παρακάτω θέματα:

  • Τι είναι η μορφή JSON;
  • Πώς να δημιουργήσετε συμβολοσειρές JSON;
  • Απλό παράδειγμα δεδομένων JSON
  • Σύγκριση JSON με XML

Ας αρχίσουμε!

Τι είναι η μορφή JSON;

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

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

Το JSON έχει πολλά πλεονεκτήματα:

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

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

Για ποιους σκοπούς χρησιμοποιείται το JSON;

Πάνω απ 'όλα, το json χρησιμοποιείται για την ανταλλαγή δεδομένων μεταξύ javascript και διακομιστή (php). Με άλλα λόγια, για την τεχνολογία ajax. Αυτό είναι πολύ βολικό όταν μεταβιβάζετε πολλές μεταβλητές ή ολόκληρους πίνακες δεδομένων.

Δείτε πώς φαίνεται σε ένα παράδειγμα:

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

    Το αγαπημένο jQuery όλων έχει τις συναρτήσεις getJSON() και parseJSON(), οι οποίες σας βοηθούν να εργαστείτε με τη μορφή μέσω αιτημάτων ajax.

    Πώς να δημιουργήσετε συμβολοσειρές JSON;


    Ακολουθούν οι βασικοί κανόνες για τη δημιουργία συμβολοσειρών JSON:

    • Η συμβολοσειρά JSON περιέχει τόσο έναν πίνακα τιμών όσο και ένα αντικείμενο (ένα συσχετιστικό πίνακα με ζεύγη ονόματος/τιμής).
    • Ο πίνακας πρέπει να είναι τυλιγμένος σε αγκύλες, [ και ], και μπορεί να περιέχει μια λίστα τιμών που χωρίζονται με κώμα.
    • Τα αντικείμενα τυλίγονται με σγουρά μπράτσα, ( και ), και περιέχουν επίσης ζεύγη ονόματος/τιμής διαχωρισμένα με κώμα.
    • Τα ζεύγη ονόματος/τιμής αποτελούνται από το όνομα του πεδίου (σε διπλά εισαγωγικά) ακολουθούμενο από άνω και κάτω τελεία (:) ακολουθούμενη από την τιμή του πεδίου.
    • Οι τιμές σε έναν πίνακα ή ένα αντικείμενο μπορεί να είναι:
      • Αριθμητικός (ακέραιος ή διακεκομμένο κλάσμα)
      • Χορδές (τυλιγμένες σε διπλά εισαγωγικά)
      • Boolean (αληθές ή λάθος)
      • Άλλοι πίνακες (τυλιγμένοι σε αγκύλες [ και ])
      • Άλλα αντικείμενα (τυλιγμένα σε σγουρά μπράτσα ( και ))
      • Μηδενική τιμή

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

    Απλό παράδειγμα δεδομένων JSON

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

    ("αναγνωριστικό παραγγελίας": 12345, "shopperName": "John Smith", "shopperEmail": " [email προστατευμένο]", "contents": [ ( "productID": 34, "productName": "SuperWidget", "quantity": 1 ), ( "productID": 56, "productName": "WonderWidget", "quantity": 3 ) ], "orderCompleted": true )

    Ας αναλύσουμε αυτά τα δεδομένα κομμάτι-κομμάτι:

  • Στην αρχή και στο τέλος χρησιμοποιούμε σγουρά μπράτσα ( και ) για να ξεκαθαρίσουμε ότι πρόκειται για αντικείμενο.
  • Μέσα στο αντικείμενο έχουμε πολλά ζεύγη ονόματος/τιμής:
  • "OrderID": 12345 - πεδίο με όνομα orderId και τιμή 12345
  • "shopperName": "John Smith" - πεδίο με όνομα shopperName και τιμή John Smith
  • "shopperEmail": "johnsmith@ example.com" - παρόμοια με το προηγούμενο πεδίο, το email του αγοραστή αποθηκεύεται εδώ.
  • "περιεχόμενα": [ ... ] - ένα πεδίο με όνομα περιεχόμενο του οποίου η τιμή είναι ένας πίνακας.
  • "orderCompleted": true - ένα πεδίο με το όνομα orderCompleted του οποίου η τιμή είναι true
  • Μέσα στον πίνακα περιεχομένων, έχουμε δύο αντικείμενα που εμφανίζουν τα περιεχόμενα του καλαθιού. Κάθε αντικείμενο προϊόντος έχει τρεις ιδιότητες: productID, productName, quantity.
  • Τέλος, επειδή το JSON είναι πανομοιότυπο με τα αντικείμενα στο JavaScript, μπορείτε εύκολα να πάρετε αυτό το παράδειγμα και να δημιουργήσετε ένα αντικείμενο JavaScript από αυτό:

    var cart = ("αναγνωριστικό παραγγελίας": 12345, "shopperName": "John Smith", "shopperEmail": " [email προστατευμένο]", "περιεχόμενα": [ ( "productID": 34, "productName": "SuperWidget", "quantity": 1 ), ( "productID": 56, "productName": "WonderWidget", "quantity": 3 ) ], "orderCompleted": true );

    Σύγκριση JSON με XML

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

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

    Ακολουθεί το παραπάνω παράδειγμα JSON, που έχει ξαναγραφεί μόνο σε μορφή XML:

    Αναγνωριστικό παραγγελίας 12345 Όνομα αγοραστή John Smith shopperEmail [email προστατευμένο]περιεχόμενα productID 34 productName SuperWidget ποσότητα 1 productID 56 productName WonderWidget ποσότητα 3 παραγγελίαΟλοκληρώθηκε αληθινό

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

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

    Πώς να εργαστείτε με JSON μέσω PHP και JS;

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

    Δημιουργία και ανάγνωση μορφής JSON με χρήση JavaScript


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

    Ευτυχώς, πολλές γλώσσες προγραμματισμού παρέχουν εργαλεία για εργασία με συμβολοσειρές JSON. Η κύρια ιδέα της οποίας:

    Για να δημιουργήσετε συμβολοσειρές JSON, ξεκινάτε με μεταβλητές που περιέχουν ορισμένες τιμές και, στη συνέχεια, τις περνάτε μέσω μιας συνάρτησης που μετατρέπει τα δεδομένα σε συμβολοσειρά JSON.

    Διαβάζοντας συμβολοσειρές JSON, ξεκινάτε με μια συμβολοσειρά JSON που περιέχει συγκεκριμένα δεδομένα, περνάτε τη συμβολοσειρά μέσω μιας συνάρτησης που δημιουργεί μεταβλητές που περιέχουν τα δεδομένα.

    Ας δούμε πώς γίνεται αυτό σε JavaScript.

    Δημιουργία συμβολοσειράς JSON από μεταβλητή JavaScript

    Η JavaScript έχει μια ενσωματωμένη μέθοδο, JSON.stringify(), η οποία παίρνει μια μεταβλητή javascript και επιστρέφει μια συμβολοσειρά json που αντιπροσωπεύει τα περιεχόμενα της μεταβλητής. Για παράδειγμα, ας χρησιμοποιήσουμε ένα αντικείμενο που δημιουργήθηκε προηγουμένως και ας το μετατρέψουμε σε συμβολοσειρά JSON.

    var cart = ("αναγνωριστικό παραγγελίας": 12345, "shopperName": "John Smith", "shopperEmail": " [email προστατευμένο]", "contents": [ ( "productID": 34, "productName": "SuperWidget", "quantity": 1 ), ( "productID": 56, "productName": "WonderWidget", "quantity": 3 ) ], "orderCompleted": true ειδοποίηση (JSON.stringify(cart));

    Αυτό θα εμφανιστεί στην οθόνη:

    ("OrderID":12345,"shopperName":"John Smith","shopperEmail":" [email προστατευμένο]", "περιεχόμενα":[("productID":34,"productName":"SuperWidget","quantity":1), ("productID":56,"productName":"WonderWidget","quantity":3) ], "orderCompleted":true)

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

    Δημιουργία μεταβλητής JavaScript από συμβολοσειρά JSON

    Υπάρχουν διάφοροι τρόποι ανάλυσης συμβολοσειρών JSON, ο πιο αποδεκτός και ασφαλής είναι η χρήση της μεθόδου JSON.parse(). Παίρνει μια συμβολοσειρά JSON και επιστρέφει ένα αντικείμενο ή πίνακα JavaScript που περιέχει τα δεδομένα JSON. Εδώ είναι ένα παράδειγμα:

    var jsonString = " \ ( \ "orderID": 12345, \ "shopperName": "John Smith", \ "shopperEmail": " [email προστατευμένο]", \ "περιεχόμενα": [ \ ( \ "productID": 34, \ "productName": "SuperWidget", \ "quantity": 1 \), \ ( \ "productID": 56, \ "productName": " WonderWidget", \"quantity": 3\ ) \ ], \"orderCompleted": true \ ) \"; var cart = JSON.parse(jsonString); alert(cart.shopperEmail); alert(cart.contents.productName);

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

    Θα εμφανιστούν οι ακόλουθες πληροφορίες:

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

    Δημιουργία και ανάγνωση μορφής JSON με χρήση PHP


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

    Δημιουργία συμβολοσειράς JSON από μεταβλητή PHP

    Η Json_encode() παίρνει μια μεταβλητή PHP και επιστρέφει μια συμβολοσειρά JSON που αντιπροσωπεύει τα δεδομένα της μεταβλητής. Ακολουθεί το παράδειγμά μας ενός "καλαθιού" γραμμένου σε PHP:

    Αυτός ο κώδικας παράγει ακριβώς το ίδιο αποτέλεσμα με το παράδειγμα JavaScript - μια έγκυρη συμβολοσειρά JSON που αντιπροσωπεύει τα περιεχόμενα των μεταβλητών:

    ("OrderID":12345,"shopperName":"John Smith","shopperEmail":" [email προστατευμένο]""contents":[("productID":34,"productName":"SuperWidget", "quantity":1),("productID":56,"productName":"WonderWidget","quantity":3) ]"orderCompleted":true)

    Στην πραγματικότητα, το σενάριο PHP θα πρέπει να στείλει μια συμβολοσειρά JSON ως απάντηση σε ένα αίτημα AJAX, όπου η JavaScript θα χρησιμοποιήσει την JSON.parse() για να μετατρέψει τη συμβολοσειρά σε μεταβλητές.

    Στη συνάρτηση json_encode(), μπορείτε να καθορίσετε πρόσθετες παραμέτρους που σας επιτρέπουν να μετατρέψετε ορισμένους χαρακτήρες σε δεκαεξαδικό.

    Δημιουργία μεταβλητής PHP από συμβολοσειρά JSON

    Παρόμοια με τα παραπάνω, υπάρχει μια συνάρτηση json_decode() που σας επιτρέπει να αποκωδικοποιήσετε συμβολοσειρές JSON και να τοποθετήσετε τα περιεχόμενα σε μεταβλητές.

    Όπως και με την JavaScript, αυτός ο κώδικας θα δώσει τα εξής:

    [email προστατευμένο] WonderWidget

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

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

    $cart = json_decode($jsonString, true); echo $cart["shopperEmail"] . "
    "; echo $cart["contents"]["productName"] . "
    ";

    Αυτό παράγει το ίδιο αποτέλεσμα:

    [email προστατευμένο] WonderWidget

    Μπορείτε επίσης να περάσετε πρόσθετα ορίσματα στη συνάρτηση json_decode() για να προσδιορίσετε την επεξεργασία μεγάλων αριθμών και την αναδρομή.

    Συμπερασματικά για τη μορφή JSON

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


    Το 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 ανοίγει από ειδικά προγράμματα. Για να ανοίξετε αυτήν τη μορφή, πραγματοποιήστε λήψη ενός από τα προτεινόμενα προγράμματα.

    Πώς να ανοίξετε ένα αρχείο JSON

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

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

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

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

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

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

    Προγράμματα για άνοιγμα JSON

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

    Για λεπτομερή προβολή και επεξεργασία της μορφής JSON εντός του λειτουργικού συστήματος Windows, συνιστάται η χρήση εξειδικευμένων βοηθητικών προγραμμάτων και προγραμμάτων περιήγησης ιστού (Altova XMLSpy, Mozilla Firefox, κ.λπ.).

    Αξίζει να σημειωθεί ότι η επέκταση JSON είναι προσαρμοσμένη για να λειτουργεί στις πλατφόρμες Mac και Linux OS.

    Για να ανοίξετε τη μορφή JSON σε δεδομένα λειτουργικού συστήματος, συνήθως χρησιμοποιείτε:

    • Bare Bones TextWrangler (Mac OS);
    • MacVim (Mac OS);
    • Apple TextEdit (Mac OS);
    • GNU Emacs (Linux OS);
    • Vim (Linux OS);
    • Pico (Linux OS).

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

    Μετατροπή JSON σε άλλες μορφές

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

    Γιατί JSON και ποια είναι τα πλεονεκτήματά του;

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

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

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

    ΣΗΜΕΙΩΣΗ: Ο Mozilla Firefox αποθηκεύει αντίγραφα ασφαλείας σελιδοδεικτών χρησιμοποιώντας αρχεία JSON. Τα αρχεία αποθηκεύονται στον κατάλογο προφίλ χρήστη σε έναν φάκελο που ονομάζεται backups σελιδοδεικτών. Μπορείτε να δημιουργήσετε μη αυτόματα αντίγραφα ασφαλείας των σελιδοδεικτών του Firefox και να τους εισαγάγετε σε διαφορετικά αντίγραφα του Firefox. Για εισαγωγή, ανοίξτε τη Βιβλιοθήκη σελιδοδεικτών, κάντε κλικ στο κουμπί εισαγωγής/εξαγωγής στην επάνω γραμμή, Επαναφορά → Επιλογή αρχείου... και επιλέξτε το αρχείο αντιγράφου ασφαλείας JSON.