php

Come leggere e stampare un bel JSON con PHP

Come leggere e stampare un bel JSON con PHP
JSON è un formato di archiviazione dati popolare per scambiare dati tra server e browser. È derivato da JavaScript e supportato da molti linguaggi di programmazione standard. È un formato di file leggibile dall'uomo che è facilmente comprensibile da chiunque se viene stampato con una formattazione corretta. I dati JSON vengono stampati su una singola riga quando non viene applicata alcuna formattazione. Ma questo tipo di output non è così facile da capire. Quindi, i dati JSON formattati sono molto importanti per comprendere la struttura dei dati per il lettore. Pretty print viene utilizzato per formattare i dati JSON. I dati JSON possono essere rappresentati in una forma più leggibile per gli umani utilizzando una bella stampa. Esistono molti modi per applicare una bella stampa nei dati JSON. In questo tutorial viene mostrato come applicare la stampa graziosa JSON utilizzando PHP utilizzando vari esempi.

Esempio 1: stampa JSON senza formattazione

json_encode() la funzione di PHP viene utilizzata per analizzare qualsiasi dato JSON. Crea un file chiamato esp1.php con il seguente codice per leggere un semplice dato JSON e stampare l'output. Qui viene dichiarato un array associativo per generare dati JSON. Nessuna formattazione viene applicata per i dati JSON nel codice. Quindi, i dati JSON verranno stampati in una singola riga in formato JSON.

esp1.php

//Dichiara l'array
$courses=array("Modulo-1"=>"HTML","Modulo-2"=>"JavaScript", "Modulo-3"=>"CSS3",
"Modulo-4" => "PHP");
//Stampa l'array in un semplice formato JSON
echo json_encode($corsi);
?>

Produzione:

Il seguente output apparirà dopo aver eseguito il file dal browser.

http://localhost/json/exp1.php

Esempio 2: stampa JSON utilizzando l'opzione JSON_PRETTY_PRINT e la funzione header()

PHP ha un'opzione denominata 'JSON_PRETTY_PRINT' che viene utilizzato con json_encode() funzione per stampare dati JSON con allineamento corretto e formato particolare. Crea un file chiamato esp2.php con il seguente codice. Nel codice, viene utilizzato lo stesso array dell'esempio precedente per vedere l'uso JSON_PRETTY_PRINT opzione. intestazione() la funzione viene utilizzata qui per informare il browser sul contenuto del file. Nessuna formattazione verrà applicata senza questa funzione.      

esp2.php

//Dichiara l'array
$courses=array("Modulo-1"=>"HTML","Modulo-2"=>"JavaScript", "Modulo-3"=>"CSS3",
"Modulo-4" => "PHP");
// Notifica al browser il tipo di file utilizzando la funzione di intestazione
header('Content-type: text/javascript');
//Stampa l'array in un semplice formato JSON
echo json_encode($corsi, JSON_PRETTY_PRINT);
?>

Produzione:

Il seguente output apparirà dopo aver eseguito il file dal browser. Verranno applicati un carattere e un allineamento specifici.

http://localhost/json/exp2.php

Esempio 3: stampa JSON utilizzando l'opzione JSON_PRETTY_PRINT e
 etichetta

La formattazione applicata nell'esempio precedente può essere eseguita utilizzando 'pre'tag al posto di intestazione() funzione. Crea un file chiamato esp3.php con il seguente codice. In questo esempio, a partire da il 'pre' il tag viene utilizzato prima di generare dati JSON. L'output sarà simile all'esempio precedente.

esp3.php

$data_arr = array('Robin Nixon' => 'Imparare PHP, MySQL e JavaScript ',
'Jon Duckett' => 'HTML e CSS: Progetta e costruisci siti Web', 'Rob Foster' =>
'CodeIgniter 2 Ricettario');
?>

echo json_encode($data_arr, JSON_PRETTY_PRINT);
?>

Produzione:

Il seguente output apparirà dopo aver eseguito il file dal browser.

http://localhost/json/exp3.php

Esempio-4: stampa JSON colorata utilizzando la funzione personalizzata

I dati JSON formattati vengono stampati utilizzando JSON_PRETTY_PRINT opzione di PHP negli esempi precedenti. Ma se vuoi stampare i dati JSON con il formato personalizzato, allora è meglio usare la funzione definita dall'utente di PHP. Come è possibile applicare CSS nei dati JSON utilizzando PHP è mostrato principalmente in questo esempio. Crea un file PHP chiamato exp4.php con il seguente codice. In questo esempio vengono utilizzati dati JSON di grandi dimensioni archiviati nella variabile, $dati. Una funzione definita dall'utente, bella_stampa() viene utilizzato nel codice per formattare i dati JSON. Questa funzione ha un argomento utilizzato per passare i dati JSON. UN per loop viene utilizzato nella funzione per analizzare i dati JSON e applicare una formattazione di tipo diverso prima di stampare i dati.

exp4.php

//Definizione di dati json di grandi dimensioni
$data = '"quiz bank": "Computer": "q1": "question": "chi è l'inventore di
computer?","opzioni": ["Thomas Alva Edison","Charles Babbage","Blaise Pascal",
"Philo Farnsworth"],"answer": "Charles Babbage","q2": "question":
"quale dei seguenti è un dispositivo di input?", "opzioni": ["Stampante","Scanner",
"Monitor", "Tastiera"],"answer": "Tastiera","PHP": "q1": "question":
"Che tipo di linguaggio è PHP?","opzioni": ["Lingua ad alto livello","Livello basso
Lingua","Linguaggio di script","Linguaggio di assemblaggio"],"risposta": "Linguaggio di script" ,
"q2": "question": "Qual è la forma completa di PHP??","opzioni": ["Preprocessore ipertestuale",
"Pacchetto casa personale","Elaboratore di ipertesto","Pagina HTML personale" ],"risposta":
"Preprocessore Ipertestuale" ';
//chiama la funzione personalizzata per la formattazione dei dati json
echo pretty_print($dati);
//Dichiara la funzione personalizzata per la formattazione
funzione pretty_print($json_data)

//Inizia la variabile per l'aggiunta di spazio
$spazio = 0;
$bandiera = falso;
//Usando
 tag per formattare allineamento e carattere
eco "
";
// loop per l'iterazione dei dati json completi
for($contatore=0; $contatore
//Controllo la seconda e la terza parentesi finale
if ( $json_data[$counter] == '' || $json_data[$counter] == ']' )

$spazio--;
echo "\n";
echo str_repeat(", ($spazio*2));

 
//Controllo delle doppie virgolette(“) e della virgola (,)
if ( $json_data[$counter] == '"' && ($json_data[$counter-1] == ',' ||
$json_data[$counter-2] == ',') )

echo "\n";
echo str_repeat(", ($spazio*2));

if ( $json_data[$counter] == '"' && !$bandiera )

if ( $json_data[$counter-1] == ':' || $json_data[$counter-2] == ':' )
//Aggiungi formattazione per domanda e risposta
eco '';
altro
//Aggiungi la formattazione per le opzioni di risposta
eco '';

echo $json_data[$contatore];
// Verifica delle condizioni per l'aggiunta del tag span di chiusura
if ( $json_data[$counter] == '"' && $flag )
eco '
';
if ( $json_data[$counter] == '"' )
$bandiera = !$ bandiera;
//Controllo della seconda e della terza parentesi iniziale
if ( $json_data[$counter] == '' || $json_data[$counter] == '[' )

$spazio++;
echo "\n";
echo str_repeat(", ($spazio*2));


eco "
";

?>

Produzione:

Il seguente output apparirà dopo aver eseguito il file dal browser. Qui, ogni domanda e risposta dei dati JSON verranno stampate con blu colore e grassetto formato e, un'altra parte verrà stampata con rosso colore.

http://localhost/json/exp4.php

Conclusione

Come è possibile stampare dati JSON formattati utilizzando varie opzioni PHP si prova a mostrare in questo articolo. Spero che il lettore sarà in grado di applicare il PHP per formattare i dati JSON e generare un bel output JSON dopo aver praticato correttamente gli esempi sopra.

Aggiungi i gesti del mouse a Windows 10 utilizzando questi strumenti gratuiti
Negli ultimi anni computer e sistemi operativi si sono notevolmente evoluti greatly. C'è stato un tempo in cui gli utenti dovevano usare i comandi per...
Controlla e gestisci il movimento del mouse tra più monitor in Windows 10
Gestore mouse con doppio display ti consente di controllare e configurare il movimento del mouse tra più monitor, rallentando i suoi movimenti vicino ...
WinMouse ti consente di personalizzare e migliorare il movimento del puntatore del mouse su PC Windows
Se vuoi migliorare le funzioni predefinite del puntatore del mouse, usa freeware WinMouse. Aggiunge più funzionalità per aiutarti a ottenere il massim...