JavaScript  »  Articoli  »  Ajax 

AJAX e JSON, accoppiata vincente

di: Andrea Giammarchi     06 Giugno 2006

L'esigenza di potersi interfacciare in modo universale con diverse tecnologie ha dato luce a JSON (JavaScript Object Notation), un sistema di scambio dati molto semplice basato su una formattazione di testo tale da rendere differenti tipi di variabili facilmente rappresentabili e comprensibili da occhi umani come dai linguaggi di scripting o programmazione più diffusi.

JSON è basato sugli standards ECMA-262 terza edizione e sulla programmazione in Javascript, linguaggio basato su questo stesso standard.

Questo formato permette a tecnologie differenti di scambiare informazioni e si rivela anche un buon metodo per interagire con chiamate asincrone, poichè permette di inviare diversi tipi di dati sotto forma di stringhe ben interpretabili dalla quasi totalità dei linguaggi server.

JSON, una stringa per tutti

Quali dati si possono convertire

I tipi di dato che possiamo usare con JSON per lo scambio di informazioni sono due:

  • array con soli indici numerici
  • oggetti

La scelta limitata è ricaduta su questi tipi di contenitori perché presenti nella maggior parte dei linguaggi di sviluppo. Anche i tipi che si possono racchiudere al loro interno vedremo essere abbastanza comuni.

Essi infatti possono contenere dati primitivi come:

  • numeri
  • booleani
  • stringhe
  • valore nullo (null)

oppure altri array o altri oggetti. Poremmo avere infatti oggetti popolati da array, array di array ed oggetti di oggetti. Ecco un esempio di variabili che si possono inviare o ricevere attraverso JSON:

Listato 1. Dichiarazioni di dati compatibili JSON

// oggetto generico che contiene
// tutti i tipi di dato compatibili con JSON
var oggetto = {
  articolo : "AJAX e JSON",
  pubblicato : true,
  interessante : null,
  data  : [18, 5, 2006],
  info  : {autore: "Andrea Giammarchi"}
};

// array di valori misti
var arr = ["uno", 2, 3.01, (2 === (2*2/2)), null, oggetto];

// array di array
var arr2 = [arr, arr, arr, arr, arr];

Usare JSON per l'invio di solo testo, di un numero o di un songolo valore booleano non è invece un approccio utile né adatto alla conversione/riassegnazione dei valori, che dovranno essere sempre racchiusi all'interno degli unici contenitori riconosciuti, array ed oggetti, anche qualora non dovessero avere alcun dato.

Listato 2. Inviare una singola stringa

// variabile non adatta per JSON
var str = "test";

// variabili adatte per JSON
var arr = [str];
var obj = {testo:str};

Guide JavaScript

Canvas, guida pratica

Canvas, tra gli elementi di HTML5 è forse quello di maggior impatto....

Guida jQuery UI

Creare siti ricchi e dinamici con jQuery UI, il progetto ufficiale...

Guida Javascript: tecniche avanzate

Una guida dal taglio pratico per approfondire la programmazione a...

Altre guide

Newsletter @JavaScript

Ogni martedì, direttamente nella tua e-mail: guide, articoli, script, novità e approfondimenti tecnici su JavaScript.

Iscriviti alla newsletter

Altre newsletter

Corsi in aula

Corso Google AdWords Base

27 Febbraio 2012 a Milano
Disponibilità: 7 Posti

Corso Webmaster base

12 Marzo 2012 a Milano
Disponibilità: 6 Posti

Corso Webmaster base

20 Febbraio 2012 a Roma
Disponibilità: 7 Posti

Corso Google AdWords Base

28 Marzo 2012 a Roma
Disponibilità: 7 Posti