JSON sta per JavaScript Object Notation ed è una sintassi per l’archiviazione e lo scambio di dati semplice e veloce.
Poiché il formato JSON è un formato basato su testo, come detto può essere facilmente inviato e utilizzato come formato dati e assorbito da qualsiasi linguaggio di programmazione.
PHP e JSON
PHP ha alcune funzioni integrate per gestire JSON. Per prima cosa esamineremo le due funzioni seguenti:
- codifica_json()
- json_decode()
PHP – codifica_json()
La funzione json_encode() viene utilizzata per codificare un valore nel formato JSON.
Questo esempio mostra come codificare un array associativo in un oggetto JSON:
<?php $age = array("Peter"=>35, "Ben"=>37, "Joe"=>43); echo json_encode($age); ?>
Questo esempio mostra come codificare un array indicizzato in un array JSON:
<?php $cars = array("Volvo", "BMW", "Toyota"); echo json_encode($cars); ?>
PHP – json_decode()
La funzione json_decode() viene utilizzata per decodificare un JSON in un oggetto PHP o in un array associativo.
Questo esempio decodifica i dati JSON in un oggetto PHP:
<?php $jsonobj = '{"Peter":35,"Ben":37,"Joe":43}'; var_dump(json_decode($jsonobj)); ?>
La funzione json_decode()
restituisce un oggetto per impostazione predefinita. La funzione json_decode()
ha un secondo parametro e, quando impostato su true, gli oggetti JSON vengono decodificati in array associativi.
Questo esempio decodifica i dati JSON in un array associativo PHP:
<?php $jsonobj = '{"Peter":35,"Ben":37,"Joe":43}'; var_dump(json_decode($jsonobj, true)); ?>
PHP – Accesso ai valori decodificati
Ecco due esempi di come accedere ai valori decodificati da un oggetto e da un array associativo:
Questo esempio mostra come accedere ai valori da un oggetto PHP:
<?php $jsonobj = '{"Peter":35,"Ben":37,"Joe":43}'; $obj = json_decode($jsonobj); echo $obj->Peter; echo $obj->Ben; echo $obj->Joe; ?>
Questo esempio mostra come accedere ai valori da un array associativo PHP:
<?php $jsonobj = '{"Peter":35,"Ben":37,"Joe":43}'; $arr = json_decode($jsonobj, true); echo $arr["Peter"]; echo $arr["Ben"]; echo $arr["Joe"]; ?>
PHP – Ciclo attraverso i valori
Puoi anche scorrere i valori con un ciclo foreach() :
Questo esempio mostra come scorrere i valori di un oggetto PHP:
<?php $jsonobj = '{"Peter":35,"Ben":37,"Joe":43}'; $obj = json_decode($jsonobj); foreach($obj as $key => $value) { echo $key . " => " . $value . "<br>"; } ?>
Questo esempio mostra come scorrere i valori di un array associativo PHP:
<?php $jsonobj = '{"Peter":35,"Ben":37,"Joe":43}'; $arr = json_decode($jsonobj, true); foreach($arr as $key => $value) { echo $key . " => " . $value . "<br>"; } ?>