Blog

php-json

Conversione e utilizzo di stringhe JSON in PHP

Guide

Conversione e utilizzo di stringhe JSON in PHP

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.

Leave your thought here

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Copyrighted Image