Funzione PHP JSON_DECODE

Funzione PHP JSON_DECODE
PHP ha due funzioni integrate per lavorare con i dati JSON. Questi sono JSON_ENCODE () E json_decode () funzioni. La funzione JSON_ENCODE () viene utilizzata per codificare i dati JSON e la funzione JSON_DECODE () viene utilizzata per decodificare i dati JSON codificati. Questa funzione crea un oggetto PHP da un oggetto JSON. I diversi usi della funzione JSON_DECODE () sono mostrati in questo tutorial.

Sintassi:
JSON_DECOD mistoE (String $ JSON, BOOL $ ASSOCIATIVE = NULL, INT $ profondità = 512, int $ flags = 0)

Questa funzione ha quattro argomenti. Il primo argomento è obbligatorio e gli altri argomenti sono opzionali. Gli scopi di questi argomenti sono descritti nel seguente:

  • $ JSON: contiene i dati JSON che vengono decodificati e supporta solo la stringa codificata UTF-8.
  • $ Associative: contiene un valore booleano. Se il valore di questo argomento è impostato su True, la funzione restituisce un array associativo dell'oggetto JSON. Se il valore di questo argomento è impostato su false, la funzione restituisce un oggetto.
  • $ profondità: viene utilizzato per definire la profondità nidificata della struttura che viene decodificata. Il valore di questo argomento è compreso tra 1 e 2147483647.
  • $ flag: contiene la maschera bit di json_bigint_as_string, JSON_INVALID_UTF8_IGNORE, JSON_INVALID_UTF8_SUBSTITUE, JSON_OBJECT_AS_ARRAY, JSON_THHTHROW_ON_ERRORR.

Il valore JSON codificato del tipo PHP viene restituito da questa funzione se i dati codificati sono nella profondità nidificata. Altrimenti, la funzione restituisce null.

Diversi esempi di funzione JSON_ENCODE ()

I diversi usi della funzione JSON_ENCODE () sono mostrati in questa parte del tutorial usando più esempi.

Esempio 1: converti semplici dati JSON in un array PHP

Crea un file PHP con il seguente script che converte l'oggetto JSON in un oggetto PHP e un array PHP usando la funzione JSON_DECODE0. Quando la funzione JSON_DECODE () viene utilizzata con un argomento, l'oggetto JSON viene convertito in un oggetto PHP. Quando la funzione JSON_DECODE () viene utilizzata con i primi due argomenti, l'oggetto JSON viene convertito in un array PHP. In questo esempio viene utilizzato un oggetto JSON con semplici dati JSON di cinque proprietà.

// dichiara una semplice stringa JSON
$ JSONDATA = '"01": "Libro", "02": "Pen", "03": "Pencil", "04": "Rular", "05": "Paper"';
// decodifica i dati JSON in un oggetto PHP
eco "I dati JSON decodificati come oggetto:
";
print_r (JSON_DECODE ($ JSONData));
// decodifica i dati JSON in un array PHP
eco "
I dati JSON decodificati come array associativo:
";
print_r (JSON_DECODE ($ JSONDATA, TRUE));
?>

Produzione:

Viene visualizzato il seguente output dopo l'esecuzione dello script precedente:

Esempio 2: stampare i nomi e i valori delle proprietà JSON

Crea un file PHP con il seguente script che converte l'oggetto JSON in un array PHP usando la funzione JSON_DECODE0. In questo esempio viene utilizzato un oggetto JSON con semplici dati JSON di cinque proprietà. Successivamente, il "per ciascuno"Loop viene utilizzato per leggere e stampare le chiavi e i valori dell'array PHP.

// dichiara una semplice stringa JSON
$ ProductTypes = '"t01": "hdd", "t02": "monitor", "t03": "mouse", "t04": "stampante", "t05": "tastiera"';
// decodifica i dati JSON in un array PHP
$ phParray = JSON_DECODE ($ ProductTypes, true);
eco " Nome prodotto ID
";
// Stampa gli elementi dell'array associativo utilizzando il loop
foreach ($ phparray come $ indice => $ valore)

Echo $ Index."".$ valore."
";

?>

Produzione:

Viene visualizzato il seguente output dopo l'esecuzione dello script precedente:

Esempio 3: cerca nella particolare proprietà JSON

Crea un file PHP con il seguente script che converte l'oggetto JSON in un array PHP e il valore ID particolare sarà cercato nell'array. Se il valore esiste nell'array, vengono stampati gli altri valori corrispondenti. Qui, il valore dell'ID di ricerca è tratto dal parametro URL.

// Dichiara un oggetto JSON di più di una profondità
$ CustomerData = '[[
"Id": "056345", "nome": "mira hossain", "email": "[email protected] "," contact_no ":"+8801954532367 ",
"Id": "056335", "nome": "Mohammed Abir", "Email": "[email protected] "," contact_no ":"+8801858722209 ",
"Id": "056387", "nome": "Alif Chowdhury", "Email": "[email protected] "," contact_no ":"+8801700785321 ",
"Id": "056391", "nome": "nipa roy", "email": "[email protected] "," contact_no ":"+880180006342 ",
"Id": "056395", "nome": "anam ali", "email": "[email protected] "," contact_no ":"+880159126543 "
] ';
// crea l'array PHP dei dati JSON
$ CustaRray = JSON_DECODE ($ CustomerData, True);
// Controllare che l'ID di ricerca è indicato nell'URL o no
if (isset ($ _ get ['src'])

// Leggi l'ID di ricerca dall'URL
$ searchid = $ _get ['src'];
$ trovato = false;
// stampano le informazioni del cliente del particolare ID se esiste nell'array
per ($ indice = 0; $ indice < count($custArray); $index++)
if ($ custodray [$ indice] ["id"] == $ searchId)
eco " Dettagli del cliente:
";
Echo "Nome:".$ custodia [$ indice] ["nome"]."
";
Echo "Email:".$ Custoray [$ INDICE] ["Email"]."
";
Echo "Contatta No:".$ custodia [$ indice] ["contact_no"]."
";
$ trovato = vero;
rottura;


if ($ trovato == false)
Echo "ID cliente non esiste.";

altro
Echo "ID Search non è fornito."
?>

Produzione:

Viene visualizzato il seguente output dopo l'esecuzione dello script precedente se non viene fornito alcun valore ID nell'URL:

Il seguente output appare dopo aver eseguito lo script precedente se il valore ID fornito nell'URL esiste nell'array PHP generato dall'oggetto JSON:

Viene visualizzato il seguente output dopo l'esecuzione dello script precedente se il valore ID fornito nell'URL non esiste nell'array PHP generato dall'oggetto JSON:

Esempio 4: generare errore per l'oggetto JSON sbagliato

Crea un file PHP con il seguente script che visualizza un errore al momento della conversione dell'oggetto JSON in un oggetto PHP se l'oggetto JSON contiene qualsiasi errore. L'oggetto JSON utilizzato in questo esempio contiene un errore nel valore della seconda proprietà. La doppia citazione (") manca per il valore della proprietà,"Penna".

// dichiara una semplice stringa JSON
$ JSONDATA = '"01": "Libro", "02": Pen "," 03 ":" Pencil "," 04 ":" Rular "," 05 ":" Paper "';
// decodifica i dati JSON in un oggetto PHP
eco "I dati JSON decodificati come oggetto:
";
print_r (JSON_DECODE ($ JSONData));
// Stampa l'errore no e il messaggio di errore se esiste
Echo "Errore no: ".json_last_error ()."
"."Messaggio di errore: ".JSON_LAST_ERROR_MSG ()."";
?>
?>

Produzione:

Viene visualizzato il seguente output dopo l'esecuzione dello script precedente:

Conclusione

I diversi modi di analizzare i dati JSON utilizzando la funzione JSON_DECODE () sono spiegati in questo tutorial usando semplici esempi. Speriamo che lo scopo di utilizzare la funzione JSON_DECODE () sia cancellato per gli utenti PHP dopo aver letto questo tutorial.