Ιστοσελίδες

JSON Data Interchange Format Gets Πρότυπα Ευλογία

From C to Python by Ross Rheingans-Yoo

From C to Python by Ross Rheingans-Yoo
Anonim

η μορφή ανταλλαγής για εφαρμογές Web, που θεωρείται από έναν αυξανόμενο αριθμό ανθρώπων ως εναλλακτική λύση για την XML, έχει πάρει ώθηση από τον οργανισμό προτύπων Ecma

Η Γενική Συνέλευση της Ecma ενέκρινε την πέμπτη έκδοση του ECMAScript, σύμφωνα με τον Istvan Sebestyen, γενικός γραμματέας του οργανισμού. Περιέχει αυτή τη νέα έκδοση του ECMAScript, του οποίου το δημοφιλές JavaScript είναι μια διάλεκτο, είναι η εγγενής υποστήριξη για τη χρήση του JavaScript Object Notation (JSON).

Η ένταξη αυτή θα έχει σίγουρα μεγάλο αντίκτυπο στους προγραμματιστές », δήλωσε ο Douglas Crockford, "Το JSON είναι ήδη αρκετά ευρέως χρησιμοποιούμενο σε εφαρμογές Web.Με την ενσωμάτωση της JSON στη γλώσσα ECMAScript, οι υλοποιήσεις του [JSON] θα γίνουν ταχύτερες και πιο ασφαλείς", δήλωσε ο Crockford. Η έγκριση είναι επίσης ένα σημάδι ότι η κοινότητα ανάπτυξης εφαρμογών Web απομακρύνεται από τη χρήση της XML ως το μοναδικό επιθυμητό πρότυπο για την ανταλλαγή δεδομένων μεταξύ διαφορετικών συστημάτων, τουλάχιστον σε εκείνες τις περιπτώσεις όπου απαιτείται η παράδοση σχετικά απλών δομημένων δεδομένων. standard, επίσημα με τίτλο ECMA-262, περιλαμβάνει ένα αντικείμενο τόσο για τη δημιουργία και την ανάλυση κειμένων JSON. Ως επί το πλείστον, ακολουθεί την Ομάδα Μηχανικών Διαδικτύου για το Διαδίκτυο 2006 RFC 4627, η οποία συντάχθηκε από τον Crockford. Το νέο πρότυπο ECMAScript επιχειρεί να διορθώσει πολλά προβλήματα ασφάλειας που περιβάλλουν το JSON

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

«Ο διαχωρισμός μεταξύ των υποστηρικτών JSON και XML είναι ισχυρός και θα συνεχιστεί στο άμεσο μέλλον» δήλωσε ο Daniel Markham, αρχιτέκτονας Ajax και κύριος συνεργάτης της Βιρτζίνια βασισμένη στη συμβουλευτική εταιρεία Bedford Technology Group.

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

"Είμαι ένας γενικός ανεμιστήρας του JSON πάνω από την XML, κυρίως επειδή η XML έχει πολλά του συντακτικού χνούδι που πρέπει να σκάψετε για να πάρετε κάτι χρήσιμο από αυτό.Υπάρχει μόνο ένα επιπλέον γνωστικό φορτίο που δεν έχετε εάν τα αντικείμενα σας JavaScript ταιριάζουν με τις οντότητες διακομιστή σας ", ανέφερε ο Markham. Ο Markham σημείωσε επίσης ότι η XML έχει μια ευελιξία που το JSON δεν μπορεί να ταιριάξει. "Το XML παραμένει το μαχαίρι του Ελβετικού Στρατού του Ίντερνετ: είναι σε θέση να χειριστεί όλα τα είδη των δεδομένων από οποιοδήποτε σύνδεσμο", δήλωσε.

Ο Crockford διατύπωσε το JSON το 2001 όταν εργαζόταν σε διάφορες εφαρμογές Web χρησιμοποιώντας το Ajax, το οποίο περιλαμβάνει JavaScript, XML και HTML. Βρήκε το XML πολύ ογκώδες για τις ανάγκες του. "Η XML ήταν απλώς αδικαιολόγητα άσχημη και αναποτελεσματική και συνεπώς δημιουργήσαμε τη χρήση της δικής μας αναπαράστασης δεδομένων για να εκπροσωπήσουμε τα δεδομένα", δήλωσε ο Crockford. Ο Κρόκφορντ αναφέρεται ευρέως ως ο εφευρέτης του JSON, αν και είναι μέτριος για να υποθέσει αυτό το αμφισβητήσιμο. "Ήταν ήδη στη φύση, μόλις το ανακάλυψα", ανέφερε.

Από τη δημιουργία του το 2001, η JSON έχει εξελιχθεί σε δημοτικότητα. Ο ιστότοπος JSON.org περιλαμβάνει έναν αριθμό μετατροπέων JSON για γλώσσες όπως Perl, Active Server Pages, PHP, C, Java, Python και άλλα. Το Yahoo υποστηρίζει το JSON για τις υπηρεσίες του στο Web. Οι τελευταίες εκδόσεις του Internet Explorer και του Firefox διαθέτουν υποστήριξη JSON. JSON "μοιάζει να είναι το πρώτο κομμάτι του ECMAScript 5 που θα κυκλοφορήσει παγκοσμίως", δήλωσε ο Crockford

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

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

ο Tim Bray, συν-δημιουργός της μορφής XML και διευθυντής τεχνολογιών Web της Sun Microsystems, σημείωσε ότι οι επαγγελματίες XML που έχει εργαστεί με αξία του JSON. "Η XML έχει μια δέσμη χαρακτηριστικών που καθιστούν δυνατή την ανταλλαγή εγγράφων (κομμάτια ιστολογίου, δελτία ειδήσεων, ιατρικά αρχεία) και αυτά μπορεί να είναι περιττά για την ανταλλαγή καθαρών δεδομένων", σημείωσε με ηλεκτρονικό ταχυδρομείο. "Το JSON λειτουργεί πολύ καλά για την ανταλλαγή τέτοιων υλικών και, όπως το XML, είναι ωραία ανεξάρτητο από τους πωλητές."

Ο Bray αμφιβάλλει ότι η ευλογία ECMA θα έχει μεγάλο αντίκτυπο στην περαιτέρω υιοθέτηση του JSON, t υποφέρουν από τα προβλήματα διαλειτουργικότητας που συνήθως αντιμετωπίζουν τα πρότυπα. "Προφανώς, δεν υπάρχει καμία ζημιά στην ECMAScript [αναθεώρηση] που αναγνωρίζει την πραγματικότητα του JSON [αλλά] το JSON είναι ήδη εκτεταμένα εμφυτευμένο στον πολιτισμό του Web."

Το ECMAScript είναι η ουδέτερη έκδοση της γλώσσας προγραμματισμού JavaScript, που δημιουργήθηκε από το Netscape ως γλώσσα δέσμης ενεργειών για προγράμματα περιήγησης Web.