Guide

Conversione e utilizzo di stringhe JSON in PHP

Guida semplice e completa all'utilizzo di stringhe JSON in PHP.

php-json

Conversione e utilizzo di stringhe JSON in PHP

Guida in italiano

Mettiamo di avere la seguente stringa JSON in una variabile $StringaJSON:

{
   "glossary": {
       "title": "example glossary",
               "GlossDiv": {
           "title": "S",
                       "GlossList": {
               "GlossEntry": {
                   "ID": "SGML",
                                       "SortAs": "SGML",
                                       "GlossTerm": "Standard Generalized Markup Language",
                                       "Acronym": "SGML",
                                       "Abbrev": "ISO 8879:1986",
                                       "GlossDef": {
                       "para": "A meta-markup language, used to create markup languages such as DocBook.",
                                               "GlossSeeAlso": ["GML", "XML"]
                   },
                                       "GlossSee": "markup"
               }
           }
       }
   }
}

Bene, prima di tutto dobbiamo procedere a convertirla in un Array e poi visualizzare l’array a schermo:

// Convertiamo il nostro file JSON in un Array
$Array_StringaJSON = json_decode($StringaJSON, true);
// Vediamo il risultato dell'array
print_r($Array_StringaJSON);

A questo punto ricaricando la pagina dovremmo vedere l’array stampato a schermo, anche se visualizzato in modo lineare e non strutturato. Per vederlo in modo strutturato dunque dobbiamo (nel caso di Firefox ma dovrebbe essere simile per tutti i browser) cliccare con il tasto destro sulla pagina e cliccare poi sulla voce visualizza sorgente pagina. Vi apparirà questa struttura:

Array
(
   [glossary] => Array
       (
           [title] => example glossary
           [GlossDiv] => Array
               (
                   [title] => S
                   [GlossList] => Array
                       (
                           [GlossEntry] => Array
                               (
                                   [ID] => SGML
                                   [SortAs] => SGML
                                   [GlossTerm] => Standard Generalized Markup Language
                                   [Acronym] => SGML
                                   [Abbrev] => ISO 8879:1986
                                   [GlossDef] => Array
                                       (
                                           [para] => A meta-markup language, used to create markup languages such as DocBook.
                                           [GlossSeeAlso] => Array
                                               (
                                                   [0] => GML
                                                   [1] => XML
                                               )
                                       )
                                   [GlossSee] => markup
                               )
                       )
               )
       )
)

A questo punto abbiamo una visuale facile per accedere alle informazioni, visto che non dovremmo fare altro che chiamare le varie voci dell’array partendo da sinistra. Ecco degli esempi:

echo $Array_StringaJSON["glossary"]["title"]; // Ritornerà la stringa: example glossary
echo $Array_StringaJSON["glossary"]["GlossDiv"]["title"]; // Ritornerà la stringa: S
echo $Array_StringaJSON["glossary"]["GlossDiv"]["GlossList"]["GlossEntry"]["Acronym"] // Ritornerà la stringa: SGML

Dunque riassumento il codice è il seguente:

// Il nostro file JSON
   $StringaJSON = '{
   "glossary": {
       "title": "example glossary",
               "GlossDiv": {
           "title": "S",
                       "GlossList": {
               "GlossEntry": {
                   "ID": "SGML",
                                       "SortAs": "SGML",
                                       "GlossTerm": "Standard Generalized Markup Language",
                                       "Acronym": "SGML",
                                       "Abbrev": "ISO 8879:1986",
                                       "GlossDef": {
                       "para": "A meta-markup language, used to create markup languages such as DocBook.",
                                               "GlossSeeAlso": ["GML", "XML"]
                   },
                                       "GlossSee": "markup"
               }
           }
       }
   }
}';
// Convertiamo il nostro file JSON in un Array
$Array_StringaJSON = json_decode($StringaJSON, true);
// Vediamo il risultato dell'array
print_r($Array_StringaJSON); // Ovviamente potete rimuovere questa linea quando non dovrete più guardare la struttura dell'array
echo $Array_StringaJSON["glossary"]["title"]; // Ritornerà la stringa: example glossary
echo $Array_StringaJSON["glossary"]["GlossDiv"]["title"]; // Ritornerà la stringa S
echo $Array_StringaJSON["glossary"]["GlossDiv"]["GlossList"]["GlossEntry"]["Acronym"] // Ritornerà la stringa: SGML

 
 
Link alla discussione ufficiale di questo articolo sul forum.

Articoli correlati

Vedi tutti
creare blog aziendale

Creare un blog aziendale – in 4 passi, facilmente

Hai capito che per fare business conviene aprire un blog aziendale ma non sai da dove iniziare. Se ho indovinato, ho una bella notizia: in questo articolo ti spiegherò esattamente cosa fare – avrai aperto il tuo blog entro oggi! 1 – Blog aziendale, da zero con WordPress La prima cosa da fare è creare […]

Leggi articolo

Cosa rende Coders Italia differente

Perché Codersitalia?

Know-how da multinazionale tech, con tempi e costi da software house indipendente. Investimenti proporzionati al risultato e un'assistenza presente ed efficace.

Tecnologie avanzate, a misura di PMI Portiamo nelle piccole e medie imprese metodi, esperienza e tecnologie da contesti tech d'avanguardia, inclusa l'AI: soluzioni evolute, pratiche e senza investimenti da grande azienda. Innovazione accessibile per PMI
Costi proporzionati al risultato Evitiamo pacchetti gonfiati, moduli venduti a pezzi e aumenti difficili da giustificare. Il costo deve essere coerente con l'impatto reale per la vostra azienda. Costi proporzionati al valore
Gestione chiara e trasparente Niente ticket macchinosi o risposte vaghe: avete un referente, tempi chiari, aggiornamenti comprensibili e confini definiti tra incluso ed extra. Referente, tempi e confini chiari

Analisi gratuita

Richiedi un'analisi gratuita.

Analizziamo il contesto, i problemi principali e le possibili strade per intervenire con una soluzione proporzionata.

+39 02 73103 524