Home » Articole » Știri » JSON – Comparaţie cu alte formate

JSON – Comparaţie cu alte formate

postat în: Știri 0

JSON_logoJSON este promovat ca o alternativă uşor superioară a XML întrucât ambele aceste formate au un suport larg pentru crearea, citirea și decodarea în situațiile reale în care acestea sunt utilizate în mod obișnuit. În afară de XML, exemplele ar putea include OGDL, YAML și CSV. De asemenea, Google Protocol Buffers poate îndeplini acest rol, deși nu este un limbaj de schimb de date.

YAML

YAML este aproape, dar nu în întregime, un superset JSON. De exemplu, secvenţa escaping un slash (/) cu un backslash () este valid JSON, dar nu YAML. (Aceasta este o practică comună atunci când se injectează JSON în HTML pentru a proteja împotriva atacurilor cross-site scripting.) Cu toate acestea, multe interpretoare YAML pot analiza nativ ieșirea din multe encodere JSON.

XML

XML a fost folosit pentru a descrie date structurate și a serializa obiecte. Există diverse protocoale bazate pe XML pentru a reprezenta același tip de structuri de date ca JSON pentru același tip de scopuri ale schimbului de date. Datele pot fi codificate în XML în mai multe moduri. Forma cea mai expansivă folosind etichete împerechează rezultatele într-o reprezentare mult mai largă decât JSON, dar în cazul în care datele sunt stocate în atributele și forma “short tag”, de unde eticheta de închidere este înlocuită cu “slash-greater than”, reprezentarea este de multe ori aproximativ de aceeaşi dimensiune ca JSON sau doar un pic mai mare. În cazul în care datele sunt comprimate folosind un algoritm cum ar fi gzip, există o diferență mică, deoarece compresia este bună la salvarea de spațiu atunci când un model se repetă.

XML are, de asemenea, conceptul de schema care permite scrierea accentuată, tipuri definite de utilizator, etichete predefinite și structură formală, care să permită validarea oficială a unui flux XML într-un mod portabil. Există un proiect al unui sistem propus de schema pentru JSON, dar acesta nu este formalizat în acest moment.

Modele

Model JSON

 
{
  "firstName": "John",
  "lastName": "Smith",
  "age": 25,
  "address": {
    "streetAddress": "21 2nd Street",
    "city": "New York",
    "state": "NY",
    "postalCode": "10021"
  },
  "phoneNumber": [
    {
      "type": "home",
      "number": "212 555-1239"
    },
    {
      "type": "fax",
      "number": "646 555-4567"
    }
  ],
  "gender": {
    "type": "male"
  }
}

Ambele următoarele exemple poartă același tip de informații ca exemplul de mai sus JSON, în moduri diferite.

Model YAML

Codul JSON de mai sus este, de asemenea, YAML în întregime valabil. Cu toate acestea, YAML oferă, de asemenea, o sintaxă alternativă care se dorește a fi mai accesibilă oamenilor prin înlocuirea delimitatorilor imbricaţi ca marcajele {}, [], și ” cu spații goale structurate.

 
---
  firstName: John
  lastName: Smith
  age: 25
  address: 
        streetAddress: 21 2nd Street
        city: New York
        state: NY
        postalCode: 10021
    
  phoneNumber: 
        -  
            type: home
            number: 212 555-1234
        -  
            type: fax
            number: 646 555-4567
  gender: 
        type: male

Model XML

 

  John
  Smith
  25
  
21 2nd Street New York NY 10021
212 555-1234 646 555-4567 male

Proprietățile pot fi, de asemenea, serializate folosind atribute în loc de etichete:

 

  

Prin urmare, codificarea XML poate fi comparabilă în lungime cu codificarea JSON echivalentă. O gamă largă de tehnologii de procesare XML există, de la Document Object Model până la XPath și XSLT. XML poate fi, de asemenea, stilizat pentru afișare imediată folosind CSS. XHTML este o formă de XML, astfel încât elementele pot fi transmise în această formă gata pentru introducerea directă în paginile web folosind scripting pe parte de client.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *