Άνοιγμα αρχείων JSON. Μορφή μεταφοράς δεδομένων PHP και JSON

Το JSON (JavaScript Object Notation) είναι μια μορφή μεταφοράς δεδομένων. Όπως υποδηλώνει το όνομα, η μορφή βασίζεται στη γλώσσα προγραμματισμού JavaScript, αλλά είναι διαθέσιμη και σε άλλες γλώσσες (Python, Ruby, PHP, Java).

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

Ελαφρύ και εύκολο στην κατανόηση, το JSON είναι μια εξαιρετική εναλλακτική λύση για την XML.

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

Σύνταξη και δομή JSON

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

Το αντικείμενο JSON μοιάζει με αυτό:

"first_name" : "John",
"last_name" : "Smith",
"location" : "London",
"online" : αλήθεια,
"ακόλουθοι" : 987

Αυτό είναι ένα πολύ απλό παράδειγμα. Ένα αντικείμενο JSON μπορεί να περιέχει πολλές γραμμές.

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

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

"key" : "value", "key" : "value", "key" : "value"

Το κλειδί JSON βρίσκεται στα αριστερά. Το κλειδί πρέπει να τοποθετηθεί σε διπλά εισαγωγικά. Οποιαδήποτε έγκυρη συμβολοσειρά μπορεί να χρησιμοποιηθεί ως κλειδί. Μέσα σε ένα αντικείμενο, όλα τα κλειδιά πρέπει να είναι μοναδικά. Το κλειδί μπορεί να περιέχει ένα κενό («όνομα»), αλλά ο προγραμματισμός μπορεί να έχει προβλήματα πρόσβασης σε ένα τέτοιο κλειδί. Επομένως, αντί για κενό, είναι καλύτερο να χρησιμοποιήσετε μια υπογράμμιση (“first_name”).

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

  • Χορδές
  • Αριθμοί
  • Αντικείμενα
  • Πίνακες
  • Δεδομένα Boolean (αληθινό ή ψευδές)

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

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

Συνήθως, τα δεδομένα σε αρχεία .json γράφονται σε μια στήλη, αλλά το JSON μπορεί επίσης να γραφτεί σε μια σειρά:

( "first_name" : "John", "last_name" : "Smith", "online" : true, )

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

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

"first_name" : "John",
"last_name" : "Smith",
"online" : αλήθεια

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

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

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

Πολύπλοκοι τύποι σε JSON

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

Ένθετα αντικείμενα

Παρακάτω θα βρείτε ένα παράδειγμα - το αρχείο users.json, το οποίο περιέχει δεδομένα χρήστη. Για κάθε χρήστη

("john", "jesse", "drew", "jamie") μεταβιβάζεται ως τιμή ένα ένθετο αντικείμενο, το οποίο, με τη σειρά του, αποτελείται επίσης από κλειδιά και τιμές.

Σημείωση: Το πρώτο ένθετο αντικείμενο JSON επισημαίνεται με κόκκινο χρώμα.

"Γιάννης" :(
"username" : "John",
"location" : "London",
"online" : αλήθεια,
"ακόλουθοι" : 987

"Jesse" :(
"username" : "Jesse",
"location" : "Ουάσιγκτον",
"online" : ψευδής,
"ακόλουθοι" : 432

"ζωγράφισε" :(
"username" : "Drew",
"τοποθεσία" : "Παρίσι",
"online" : ψευδής,
"ακόλουθοι" : 321

"Jamie" :(
"username" : "Jamie",
"τοποθεσία" : "Βερολίνο",
"online" : αλήθεια,
"ακόλουθοι" : 654

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

Ένθετες συστοιχίες

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

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

{
"first_name" : "John",
"last_name" : "Smith",
"location" : "London",
"ιστοσελίδες" : [

"περιγραφή" : "εργασία",
"URL" : "https://www.johnsmithsite.com/"

},
{

"deciption" : "tutorials",
"URL" : "https://www.johnsmithsite.com/tutorials"

"μεσα ΚΟΙΝΩΝΙΚΗΣ ΔΙΚΤΥΩΣΗΣ" : [

"περιγραφή" : "twitter",
"link" : "https://twitter.com/johnsmith"

"περιγραφή" : "facebook",
"link" : "https://www.facebook.com/johnsmith"

"περιγραφή" : "github",
"link" : "https://github.com/johnsmith"

Στα κλειδιά "ιστοσελίδες" και "social_media" εκχωρούνται πίνακες ως τιμές, οι οποίοι τοποθετούνται σε αγκύλες.

Χρησιμοποιώντας ένθετους πίνακες και αντικείμενα, μπορείτε να δημιουργήσετε μια σύνθετη ιεραρχία δεδομένων.

JSON ή XML;

Η XML (eXtensible Markup Language) σάς επιτρέπει να αποθηκεύετε δεδομένα σε μορφή που είναι εύκολα κατανοητή από ανθρώπους και μηχανές. Η μορφή XML υποστηρίζεται από μεγάλο αριθμό γλωσσών προγραμματισμού.

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

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

users.xml

John London

Jesse Washington

Ντρου Πάρις

Jamie Berlin

users.json
("χρήστες": [

("όνομα χρήστη" : "John", "location": "London"),
("όνομα χρήστη" : "Jesse", "τοποθεσία": "Ουάσιγκτον"),
("όνομα χρήστη" : "Drew", "τοποθεσία": "Παρίσι"),
("όνομα χρήστη" : "JamieMantisShrimp", "location": "Berlin")

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

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

Φυσικά, η μορφή πρέπει να επιλέγεται ανάλογα με τις ανάγκες της εφαρμογής.

Εργαλεία για JSON

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

Περισσότερες πληροφορίες σχετικά με τη συμβατότητα και την επεξεργασία JSON μπορείτε να βρείτε στον ιστότοπο του έργου και στη βιβλιοθήκη jQuery.

Είναι σπάνιο να γράψεις JSON από την αρχή. Συνήθως, τα δεδομένα φορτώνονται από την πηγή ή μετατρέπονται σε JSON. Μπορείτε να μετατρέψετε δεδομένα CSV ή οριοθετημένα με στηλοθέτες σε JSON χρησιμοποιώντας το εργαλείο ανοιχτού κώδικα Mr. Μετατροπέας δεδομένων. Για να μετατρέψετε XML σε JSON και αντίστροφα, χρησιμοποιήστε το utilities-online.info. Όταν εργάζεστε με αυτόματα εργαλεία, φροντίστε να ελέγξετε τα αποτελέσματα.

Τα αρχεία JSON (συμπεριλαμβανομένων των δεδομένων που έχουν μετατραπεί) μπορούν να επιθεωρηθούν χρησιμοποιώντας την υπηρεσία JSONLint. Για να δοκιμάσετε το JSON σε ένα πλαίσιο ανάπτυξης ιστού, ανατρέξτε στο JSFiddle.

συμπέρασμα

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

Σήμερα το JSON χρησιμοποιείται συχνά σε API.

ECMA-262 1999), η μορφή θεωρείται ανεξάρτητη γλώσσα και μπορεί να χρησιμοποιηθεί με σχεδόν οποιαδήποτε γλώσσα προγραμματισμού. Για πολλές γλώσσες, υπάρχει έτοιμος κώδικας για τη δημιουργία και την επεξεργασία δεδομένων σε μορφή JSON. Χρήση

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

Δεδομένου ότι το JSON είναι ένα υποσύνολο της σύνταξης JavaScript, μπορεί να αποσυνταχθεί γρήγορα χρησιμοποιώντας την ενσωματωμένη συνάρτηση eval(). Επιπλέον, είναι δυνατή η εισαγωγή πλήρως λειτουργικών συναρτήσεων JavaScript. Στην PHP, ξεκινώντας από την έκδοση 5.2.0, η υποστήριξη JSON περιλαμβάνεται στον πυρήνα με τη μορφή των συναρτήσεων json_decode() και json_encode(), οι οποίες μετατρέπουν από μόνες τους τύπους δεδομένων JSON στους αντίστοιχους τύπους PHP και αντίστροφα.

Σύνταξη

Το κείμενο JSON είναι (σε ​​κωδικοποιημένη μορφή) μία από τις δύο δομές:

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

    Οι ακόλουθες δομές χρησιμοποιούνται ως τιμές στο JSON:

  • Ένα αντικείμενο είναι ένα μη ταξινομημένο σύνολο ζευγών κλειδιού:τιμής που περικλείονται σε σγουρά άγκιστρα "( )". Το κλειδί περιγράφεται από μια συμβολοσειρά, με έναν χαρακτήρα ":" μεταξύ αυτής και της τιμής. Τα ζεύγη κλειδιών-τιμών χωρίζονται με κόμμα.
  • Ένας πίνακας (μονοδιάστατος) είναι ένα διατεταγμένο σύνολο τιμών. Ο πίνακας περικλείεται σε αγκύλες "". Οι τιμές διαχωρίζονται με κόμμα.
  • Η τιμή μπορεί να είναι μια συμβολοσειρά με διπλά εισαγωγικά, ένας αριθμός, ένα αντικείμενο, ένας πίνακας ή ένα από τα κυριολεκτικά: true, false ή null. Οτι. οι δομές μπορούν να είναι φωλιασμένες η μία μέσα στην άλλη.
  • Μια συμβολοσειρά είναι ένα ταξινομημένο σύνολο μηδέν ή περισσότερων χαρακτήρων Unicode, που περικλείονται σε διπλά εισαγωγικά. Οι χαρακτήρες μπορούν να καθοριστούν χρησιμοποιώντας ακολουθίες διαφυγής που ξεκινούν με ανάστροφη κάθετο "\".

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

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

    Οι κύριες μέθοδοι εργασίας με JSON σε JavaScript είναι:

    • JSON.parse - διαβάζει αντικείμενα από μια συμβολοσειρά σε μορφή JSON.
    • JSON.stringify - μετατρέπει αντικείμενα σε συμβολοσειρά σε μορφή JSON, που χρησιμοποιείται όταν χρειάζεται να μεταφέρετε δεδομένα μέσω του δικτύου από JavaScript.
    1. Εισαγωγή στη μέθοδο JSON.parse

    Ας δημιουργήσουμε μια βασική διαδικτυακή εφαρμογή Tizen και ας την καλέσουμε json1.

    Ας μπούμε στο αρχείο index.htmlτον παρακάτω κωδικό:


    Ρύζι. 27.2.

    Ας αλλάξουμε λίγο τον κώδικα του σεναρίου μας:

    var numbers = ""; αριθμοί = JSON.parse(numbers); document.write(numbers);


    Ρύζι. 27.3.

    Ας δούμε μια πιο ενδιαφέρουσα περίπτωση:

    var user = "( "όνομα": "Vasya", "ηλικία": 35, "isAdmin": αληθινό, "φίλοι": ["Misha","Masha","Grisha","Gulshat"] )"; χρήστης = JSON.parse(user); strMessage = "Όνομα: " + user.name + "
    " + "Ηλικία: " + user.age + "
    " + "Διαχειριστής: " + user.isAdmin + "
    " + "Φίλοι: " + user.friends + "
    "; document.write(strMessage);


    Ρύζι. 27.4. 2. Δημιουργήστε ένα αντικείμενο από μια συμβολοσειρά JSON

    Αυτό το παράδειγμα λήφθηκε από τη διεύθυνση http://www.w3schools.com/js/js_validation.asp. Ας δημιουργήσουμε ένα έργο json2. Στο αρχείο index.tmlΑς εισάγουμε τον παρακάτω κωδικό.

    Δημιουργία αντικειμένου από JSON String var text = "("υπάλληλοι":[" + "("firstName":"John","lastName":"Doe" )," + "("firstName":"Anna","lastName ":"Smith" )," + "("firstName":"Peter","lastName":"Jones" )])"; obj = JSON.parse(text); var n=obj.employees.length; strMessage=""; for(i=0;i "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 δεν σχεδιάστηκε για αυτήν την επιλογή, αλλά είναι δυνατή, πρακτική και βολική.

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

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

    Πίνακες ως κυριολεκτικά
    Ένας πίνακας στο JavaScript μπορεί να οριστεί χρησιμοποιώντας τον κατασκευαστή Array, ως εξής:

    Var aData = new Array("string", true, 43, null);

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

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

    Var aData = ["string", true, 43, null];

    Μπορείτε να αποκτήσετε πρόσβαση σε μεμονωμένα στοιχεία ενός πίνακα καθορίζοντας το όνομα του πίνακα και τον αριθμό του στοιχείου:

    Ειδοποίηση(aData); alert(aData);

    Τα αντικείμενα ως κυριολεκτικά
    Τα αντικείμενα στο JavaScript ορίζονται χρησιμοποιώντας τον κατασκευαστή Object, ως εξής:

    Var oAuto = νέο αντικείμενο(); oAuto.firm = "Audi"; oAuto.model = "A6"; oAuto.year = 2008; oAuto.price = 78000;

    Ο ίδιος κώδικας, αλλά σε κυριολεκτική σημείωση θα μοιάζει με αυτό:

    Var oAuto = ( "firm":"Audi", "model":"A6", "year":2008, "price":78000 );

    Αυτός ο κώδικας δημιουργεί ένα αντικείμενο με τις ιδιότητες εταιρεία, μοντέλο, έτος και τιμή και μπορεί να προσπελαστεί ως εξής:

    Ειδοποίηση(oAuto.model); alert(oAuto.year);

    αλλά μπορείτε επίσης να χρησιμοποιήσετε τη σύνταξη πίνακα προσεγγίζοντας τις ιδιότητες ενός αντικειμένου με αυτόν τον τρόπο:

    Ειδοποίηση(oAuto["μοντέλο"]); alert(oAuto["έτος"]);

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

    Var aAuto = [ ( "firm":"BMW", "model":"X5", "year":2007, "price":99000 ), ( "firm":"Audi", "model": "A6" , "year":2008, "price":78000 ), ( "firm":"Volkswagen", "model":"Touareg 7L", "year":2006, "price":45000 ) ];

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

    Ειδοποίηση(aAuto.year); // λάβετε το 2008

    Μπορείτε να κάνετε το αντίθετο και να περιγράψετε ένα αντικείμενο πίνακα:

    Var oAuto = ( "firm":["BMW", "Audi", "Volkswagen"], "model":["X5", "A6", "Touareg 7L"], "έτος":, "τιμή": )

    Σε αυτήν την περίπτωση, έχουμε πρόσβαση πρώτα στο αντικείμενο και μετά στον πίνακα μέσα σε αυτό:

    Ειδοποίηση(oAuto.year); // λάβετε το 2008

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

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

    ("επιχείρηση":["BMW", "Audi", "Volkswagen"], "μοντέλο":["X5", "A6", "Touareg 7L"], "έτος":, "τιμή": )

    Λάβετε υπόψη ότι το όνομα της μεταβλητής και το κόμμα λείπουν. Η μεταφορά ενός τέτοιου αντικειμένου χρησιμοποιώντας το πρωτόκολλο HTTP θα είναι πολύ γρήγορη, αφού περιέχει ελάχιστους χαρακτήρες. Έχοντας λάβει τέτοια δεδομένα από την πλευρά του πελάτη και γράφοντάς τα σε κάποια μεταβλητή (για παράδειγμα sData), λαμβάνουμε μια σειρά πληροφοριών.
    Παρακαλώ σημειώστε: είναι μια συμβολοσειρά και όχι ένα αντικείμενο ή ένα αντικείμενο με πίνακες φωλιασμένους σε αυτό. Ας μετατρέψουμε τη συμβολοσειρά σε αντικείμενο χρησιμοποιώντας τη συνάρτηση eval().

    Var oAuto = eval("(" + sData + ")");

    Ως αποτέλεσμα, θα λάβετε το αντικείμενο που περιγράψαμε ακριβώς παραπάνω.

    Πλεονεκτήματα του JSON έναντι της XML
    Ποιο είναι λοιπόν ακριβώς το πλεονέκτημα του JSON έναντι της XML;

    Εδώ μιλάμε αποκλειστικά για τα πλεονεκτήματα και τα μειονεκτήματα μόνο από την άποψη της οργάνωσης της ανταλλαγής δεδομένων στο Διαδίκτυο.

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

    BMW X5 2007 99000 Audi A6 2008 78000 Volkswagen Touareg 7L 2006 45000

    Έτσι φαίνεται σε μορφή XML και παρακάτω σε μορφή JSON:

    ( "general": ( "cars":[ ( "firm":"BMW", "model":"X5", "year":2007, "price":99000 ), ( "firm":"Audi", "model":"A6", "year":2008, "price":78000 ), ( "firm":"Volkswagen", "model":"Touareg 7L", "year":2006, "price":45000 ) ] ))

    Όταν χρησιμοποιείτε τη μορφή JSON, το κέρδος θα είναι 42 byte και χωρίς κενά θα είναι 86 byte. Και αν θυμόμαστε επίσης ότι τα δεδομένα σε μορφή JSON δεν απαιτούν πρόσθετη ανάλυση από την πλευρά του πελάτη, το πλεονέκτημα του JSON έναντι της XML όσον αφορά τη μεταφορά δεδομένων από τον διακομιστή στον πελάτη γίνεται προφανές...

    Σε αυτό το άρθρο θέλω να μιλήσω για τη μορφή ανταλλαγής δεδομένων κειμένου - JSON, και συγκεκριμένα για την εργασία με αυτήν τη μορφή στην PHP.

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

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

    Παρά την προέλευσή της στην JavaScript (ακριβέστερα, από ένα υποσύνολο της γλώσσας του προτύπου ECMA-262 του 1999), η μορφή θεωρείται ανεξάρτητη γλώσσα και μπορεί να χρησιμοποιηθεί με σχεδόν οποιαδήποτε γλώσσα προγραμματισμού. Για πολλές γλώσσες, υπάρχει έτοιμος κώδικας για τη δημιουργία και την επεξεργασία δεδομένων σε μορφή JSON.

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

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

    Τύπος δεδομένων σε μορφή JSON

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

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

    ("id":"1","όνομα":"ivan","country":"Ρωσία","γραφείο":["yandex","διαχείριση"])

    Ας δούμε τι μπορεί να μεταφέρει αυτή η γραμμή: ένα άτομο με το όνομα "ivan", με το αναγνωριστικό "1", που ζει στη χώρα "Ρωσία" εργάζεται στην εταιρεία "yandex" στο τμήμα "διαχείρισης".

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

    Παράδειγμα απάντησης σφάλματος σε μορφή JSON:

    ("σφάλμα":"1", "κωδικός σφάλματος":["empty_pers", "empty_mail", "empty_phone", "empty_letter", "empty_scode"])

    Που, για παράδειγμα, σημαίνει:

    • Πρέπει να συμπληρώσετε το πεδίο «Επικοινωνία».
    • Πρέπει να συμπληρώσετε το πεδίο «E-mail».
    • Πρέπει να συμπληρώσετε το πεδίο «Τηλέφωνο».
    • Εισαγάγετε κείμενο μηνύματος
    • Είναι απαραίτητο να συμπληρώσετε το πεδίο "Αριθμός στην εικόνα"

    Εάν δεν υπάρχουν σφάλματα, η απάντηση επιστρέφεται:

    ("σφάλμα":"0")

    Το οποίο υποδηλώνει την επιτυχή αποστολή δεδομένων.

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

    Έτσι, στην PHP, δύο συναρτήσεις είναι υπεύθυνες για την εργασία με δεδομένα σε μορφή JSON: json_encode() και json_decode() .

    Μετατροπή δεδομένων σε μορφή JSON $json_data = πίνακας ("id"=>1,"name"=>"ivan","country"=>"Russia","office"=>array("yandex","management") ) echo json_encode($json_data); Αντίστροφη μετατροπή δεδομένων από μορφή JSON $json_string="("id":1,"name":"ivan","country":"Russia","office":["yandex","management"]) "; $obj=json_decode($json_string);

    Τώρα το $obj θα περιέχει δεδομένα JSON μεταφρασμένα σε ένα αντικείμενο PHP, στο οποίο μπορείτε να έχετε πρόσβαση ως εξής:

    Echo $obj->name; //Εμφανίζει το όνομα ivan echo $obj->office; //Εμφάνιση της εταιρείας yandex

    Όπως μπορείτε να δείτε, το $obj->office είναι ένας πίνακας.

    Foreach($obj->office as $val) echo $val;

    Η εργασία με JSON σάς επιτρέπει να ανταλλάσσετε δεδομένα με τον διακομιστή που βρίσκεται μέσα "καθαρή μορφή". Δεν χρειάζεται να στείλετε ογκώδη κομμάτια κώδικα HTML.