Websites

JSON-gegevensuitwisselingsindeling krijgt standaardwaarden Zegen

HOW TO: Create a time lapse

HOW TO: Create a time lapse
Anonim

Een lichtgewicht gegevens die up-and-coming is Interchange-formaat voor webapplicaties, door een groeiend aantal mensen beschouwd als een alternatief voor XML, heeft een impuls gekregen van het standaardorgaan Ecma.

De Ecma General Assembly heeft de vijfde editie van ECMAScript goedgekeurd, volgens Istvan Sebestyen, secretaris-generaal van de organisatie. Inbegrepen in deze nieuwe versie van ECMAScript, waarvan het populaire JavaScript een dialect is, is native ondersteuning voor het gebruik van JavaScript Object Notation (JSON).

Deze integratie "zal zeker een grote impact hebben op ontwikkelaars," zei Douglas Crockford, de Yahoo-softwarearchitect geciteerd als de maker van JSON.

"JSON wordt al behoorlijk veel gebruikt in webtoepassingen. Door JSON in de ECMAScript-taal te laten inbouwen, worden [JSON] -implementaties sneller en veiliger", aldus Crockford. De goedkeuring is ook een teken dat de ontwikkelingsgemeenschap van de webtoepassing zich terugtrekt van het gebruik van XML als de enige gewenste standaard voor het uitwisselen van gegevens tussen ongelijksoortige systemen, in ten minste die gevallen waarin de levering van relatief eenvoudige gestructureerde gegevens vereist is.

standaard, officieel getiteld ECMA-262, bevat een object voor zowel het maken en parseren van JSON-teksten. Voor het grootste deel volgt het de Internet Engineering Task Force 2006 RFC 4627, geschreven door Crockford. De nieuwe ECMAScript-standaard probeert een aantal beveiligingsproblemen rond JSON op te lossen.

In de afgelopen paar jaar heeft een groeiend aantal ontwikkelaars van webtoepassingen JSON gebruikt in plaats van op XML gebaseerde benaderingen, zoals het Simple Object Access Protocol, om te markeren gegevens zodat het kan worden overgedragen tussen twee computers. Dit creëerde twee soms tegengestelde kampen binnen de gemeenschap van webtoepassingen.

"De kloof tussen de voorstanders van JSON en XML is sterk en zal zich in de nabije toekomst voortzetten," zei Daniel Markham, een architect van Ajax en hoofdpartner van Virginia op basis van adviesbureau Bedford Technology Group.

Pleitbezorgers hebben JSON geprezen om zijn eenvoud. Volgens de RFC was JSON specifiek ontwikkeld om "de serialisatie van gestructureerde gegevens" aan te pakken. JSON is een verzameling conventies, of een grammatica, over het ordenen van de gegevens die moeten worden verzonden, zodat deze door de ontvanger kunnen worden geparseerd. Het gebruikt de regels van JavaScript voor het opmaken van objecten en arrays. XML is daarentegen afhankelijk van op schema's gebaseerde markup-tags, waardoor de datasets groter en complexer worden dan de tags die gewoonlijk in JSON worden weergegeven.

"Ik ben een algehele fan van JSON via XML, vooral omdat XML veel heeft van syntactische pluis moet je er doorheen graven om er iets nuttigs van te maken. Er is gewoon een extra cognitieve belasting die je niet hebt als je JavaScript-objecten nauw aansluiten bij je serverentiteiten, "zei Markham. Markham merkte ook op dat XML een flexibiliteit heeft die JSON niet kan evenaren. "XML blijft het Zwitserse zakmes van het internet: in staat om allerlei soorten gegevens van elke connector te verwerken," zei hij.

Crockford formuleerde JSON in 2001 toen hij aan een aantal webtoepassingen werkte met behulp van de Ajax-reeks webontwikkelingstools, waaronder JavaScript, XML en HTML. Hij vond XML te omvangrijk voor zijn behoeften. "XML was gewoon onvergeeflijk lelijk en inefficiënt, en daarom kwamen we met het gebruik van de eigen gegevensvertegenwoordiging van JavaScript om de gegevens te vertegenwoordigen," zei Crockford. Crockford wordt alom aangehaald als de uitvinder van JSON, hoewel hij bescheiden is over het aannemen van dit appellatieve. "Het bestond al in de natuur, ik heb het net ontdekt", zei hij.

Sinds zijn oprichting in 2001 is JSON in populariteit gegroeid. Op de JSON.org-site staan ​​een aantal JSON-converters vermeld voor talen zoals Perl, Active Server Pages, PHP, C, Java, Python en anderen. Yahoo ondersteunt JSON voor zijn webservices. De nieuwste versies van Internet Explorer en Firefox hebben beide JSON-ondersteuning. JSON "ziet eruit als het eerste deel van ECMAScript 5 dat universeel zal worden uitgerold", aldus Crockford.

JSON zelf is altijd een onderdeel geweest van ECMAScript, althans voor zover Crockford de ECMAScript-grammatica als basis voor JSON gebruikte. Het verschil met ECMAScript 5, merkte Crockford op, is dat ECMAScript "ingebouwde bibliotheekondersteuning" heeft voor JSON. Dit zal helpen op het gebied van beveiliging.

De meeste ontwikkelaars gebruikten de JavaScript-functie eval () om op JSON gebaseerde tekst te parseren in bruikbare gegevensstructuren. Beveiligingsprofessionals zien deze benadering als een beveiligingsfout, omdat deze vorm van invoer derden in staat zou kunnen stellen kwaadaardige code in te voegen. De nieuwe parser elimineert de noodzaak om de functie eval () te gebruiken, zei Crockford.

Tim Bray, mede-maker van het XML-formaat en directeur van webtechnologieën bij Sun Microsystems, merkte op dat XML-beoefenaars waarmee hij heeft gewerkt de waarde van JSON. "XML heeft een hele reeks functies die het mogelijk maken om documenten uit te wisselen (blogartikelen, persberichten, medische dossiers) en deze kunnen overbodig zijn voor het uitwisselen van pure gegevens", merkte hij op per e-mail. "JSON werkt heel goed voor het uitwisselen van dat soort dingen en, zoals XML, is het mooi onafhankelijk van de leverancier." Bray betwijfelt of de ECMA-zegen veel impact zal hebben op verdere adoptie van JSON, omdat het al veel wordt gebruikt en niet goed werkt. t last hebben van de interoperabiliteitsproblemen die normen meestal aanpakken. "Uiteraard is er geen enkele schade aan het ECMAScript [revisie] die de realiteit van JSON erkent [maar] JSON is al diep geïmplanteerd in de IT-cultuur van het web." ECMAScript is de leverancier-neutrale versie van de JavaScript-programmeertaal, die oorspronkelijk was gemaakt door Netscape als een scripttaal voor webbrowsers.