Ultimele tutoriale de dezvoltare web
 

JSON Cum să


O utilizare obișnuită a JSON este de a citi date de pe un server web, și afișa datele într-o pagină web.

Pentru simplificare, acest lucru poate fi demonstrat prin utilizarea unui șir ca intrare (în loc de un fișier).


JSON Exemplu - obiect din șir

Creați un șir de caractere care conține JavaScript sintaxa JSON:

var text = '{ "employees" : [' +
'{ "firstName":"John" , "lastName":"Doe" },' +
'{ "firstName":"Anna" , "lastName":"Smith" },' +
'{ "firstName":"Peter" , "lastName":"Jones" } ]}';

sintaxa JSON este un subset de sintaxă JavaScript.

Funcția Javascript JSON. parse( text ) JSON. parse( text ) poate fi folosit pentru a transforma un text JSON într - un obiect JavaScript:

var obj = JSON.parse(text);

Utilizați noul obiect JavaScript în pagina ta:

Exemplu

<p id="demo"></p>

<script>
document.getElementById("demo").innerHTML =
obj.employees[1].firstName + " " + obj.employees[1].lastName;
</script>
Încearcă - l singur »

Utilizarea eval()

Browsere mai vechi , fără suport pentru funcția JavaScript JSON. parse() JSON. parse() se poate folosi eval() funcția pentru a converti un text JSON într - un obiect JavaScript:

Exemplu

var obj = eval ("(" + text + ")");
Încearcă - l singur »

eval() Funcția poate compila și executa orice JavaScript.
Aceasta reprezintă o potențială problemă de securitate. Încearcă să - l evite.

Este mai sigur de a utiliza un parser JSON pentru a transforma un text JSON la un obiect JavaScript.

Un interpretor JSON va recunoaște numai text JSON și nu va compila script-uri.

În browsere care oferă suport nativ JSON, Derivatoare JSON sunt, de asemenea, mai repede.

Suport nativ JSON este inclus în toate browserele majore și în cele mai recente ECMAScript (JavaScript) standardul:

Browsere Web Suport
  • Firefox 3.5
  • Internet Explorer 8
  • Chrome
  • Opera 10
  • Safari 4

Pentru browserele mai vechi, o bibliotecă JavaScript este disponibil la https://github.com/douglascrockford/JSON-js .

Formatul JSON a fost specificat inițial de Douglas Crockford .