php

Comment lire et imprimer un joli JSON avec PHP

Comment lire et imprimer un joli JSON avec PHP
JSON est un format de stockage de données populaire pour échanger des données entre le serveur et le navigateur. Il est dérivé de JavaScript et pris en charge par de nombreux langages de programmation standard. C'est un format de fichier lisible par l'homme qui est facilement compris par n'importe qui s'il s'imprime avec un formatage approprié. Les données JSON s'impriment sur une seule ligne lorsqu'aucun formatage n'est appliqué. Mais ce type de sortie n'est pas si facile à comprendre. Ainsi, les données JSON formatées sont très importantes pour comprendre la structure des données pour le lecteur. Pretty print est utilisé pour formater les données JSON. Les données JSON peuvent être représentées sous une forme plus lisible pour les humains en utilisant une jolie impression. Il existe de nombreuses façons d'appliquer une jolie impression dans les données JSON. Comment vous pouvez appliquer une jolie impression JSON à l'aide de PHP est montré dans ce tutoriel en utilisant divers exemples.

Exemple-1 : Imprimer JSON sans formatage

json_encode() la fonction de PHP est utilisée pour analyser toutes les données JSON. Créer un fichier nommé exp1.php avec le code suivant pour lire une simple donnée JSON et imprimer la sortie. Ici, un tableau associatif est déclaré pour générer des données JSON. Aucun formatage n'est appliqué pour les données JSON dans le code. Ainsi, les données JSON seront imprimées sur une seule ligne au format JSON.

exp1.php

//Déclarer le tableau
$courses=array("Module-1"=>"HTML","Module-2"=>"JavaScript", "Module-3"=>"CSS3",
"Module-4"=>"PHP");
//Imprime le tableau dans un format JSON simple
echo json_encode($cours);
?>

Production:

La sortie suivante apparaîtra après l'exécution du fichier à partir du navigateur.

http://localhost/json/exp1.php

Exemple-2 : Imprimer JSON à l'aide de l'option JSON_PRETTY_PRINT et de la fonction header()

PHP a une option nommée 'JSON_PRETTY_PRINT' qui est utilisé avec json_encode() fonction pour imprimer des données JSON avec un alignement approprié et un format particulier. Créer un fichier nommé exp2.php avec le code suivant. Dans le code, le même tableau de l'exemple précédent est utilisé pour voir l'utilisation JSON_PRETTY_PRINT option. entête() la fonction est utilisée ici pour informer le navigateur sur le contenu du fichier. Aucun formatage ne sera appliqué sans cette fonction.      

exp2.php

//Déclarer le tableau
$courses=array("Module-1"=>"HTML","Module-2"=>"JavaScript", "Module-3"=>"CSS3",
"Module-4"=>"PHP");
//Notifier le navigateur du type de fichier à l'aide de la fonction d'en-tête
header('Type de contenu : texte/javascript');
//Imprime le tableau dans un format JSON simple
echo json_encode($cours, JSON_PRETTY_PRINT);
?>

Production:

La sortie suivante apparaîtra après l'exécution du fichier à partir du navigateur. Une police et un alignement spécifiques seront appliqués.

http://localhost/json/exp2.php

Exemple-3 : Imprimez JSON à l'aide de l'option JSON_PRETTY_PRINT et
 étiqueter

La mise en forme appliquée dans l'exemple précédent peut être effectuée en utilisant 'pré' balise à la place de entête() une fonction. Créer un fichier nommé exp3.php avec le code suivant. Dans cet exemple, en commençant le Pre' la balise est utilisée avant de générer des données JSON. La sortie sera similaire à l'exemple précédent.

exp3.php

$data_arr = array('Robin Nixon' => 'Apprendre PHP, MySQL et JavaScript ',
'Jon Duckett' => 'HTML & CSS : Concevoir et créer des sites Web', 'Rob Foster' =>
« Livre de recettes CodeIgniter 2 » );
?>

echo json_encode($data_arr, JSON_PRETTY_PRINT);
?>

Production:

La sortie suivante apparaîtra après l'exécution du fichier à partir du navigateur.

http://localhost/json/exp3.php

Exemple 4 : Impression JSON colorée à l'aide de la fonction personnalisée

Les données JSON formatées sont imprimées en utilisant JSON_PRETTY_PRINT option de PHP dans les exemples précédents. Mais si vous souhaitez imprimer des données JSON avec le format personnalisé, il est préférable d'utiliser la fonction définie par l'utilisateur de PHP. Comment vous pouvez appliquer CSS dans les données JSON en utilisant PHP est principalement montré dans cet exemple. Créer un fichier PHP nommé exp4.php avec le code suivant. Une grande donnée JSON est utilisée dans cet exemple qui est stockée dans la variable, $données. Une fonction définie par l'utilisateur, jolie_impression() est utilisé dans le code pour formater les données JSON. Cette fonction a un argument qui sert à transmettre les données JSON. UNE pour la boucle est utilisée dans la fonction pour analyser les données JSON et appliquer un formatage de type différent avant d'imprimer les données.

exp4.php

//Définir une grande donnée json
$data = '"quiz bank": "Computer": "q1": "question": "qui est l'inventeur de
l'ordinateur?","options": ["Thomas Alva Edison","Charles Babbage","Blaise Pascal",
"Philo Farnsworth"],"answer": "Charles Babbage","q2": "question":
"Lequel des éléments suivants est un périphérique d'entrée?", "options": ["Imprimante","Scanner",
"Moniteur", "Clavier"],"answer": "Clavier","PHP": "q1": "question":
"Quel type de langage est PHP?","options": ["Langue de haut niveau","Niveau bas
Langage","Langage de script","Langage d'assemblage"],"answer": "Langage de script" ,
"q2": "question": "Quelle est la forme complète de PHP?","options": ["Préprocesseur hypertexte",
"Package personnel à domicile", "Traitement hypertexte", "Page HTML personnelle" ],"answer":
"Hypertext Preprocessor" ';
//appel de la fonction personnalisée pour le formatage des données json
echo jolie_print($données);
//Déclarer la fonction personnalisée pour le formatage
fonction pretty_print($json_data)

//Initialiser la variable pour ajouter de l'espace
$espace = 0 ;
$drapeau = faux ;
//Utilisant
 balise pour formater l'alignement et la police
écho "
";
//boucle pour itérer les données json complètes
for($compteur=0; $compteur
//Vérification des deuxième et troisième crochets de fin
if ( $json_data[$counter] == '' || $json_data[$counter] == ']' )

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

 
//Vérification des guillemets(“) et des virgules (,)
if ( $json_data[$counter] == '"' && ($json_data[$counter-1] == ',' ||
$json_data[$counter-2] == ',') )

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

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

if ( $json_data[$counter-1] == ':' || $json_data[$counter-2] == ':' )
//Ajouter une mise en forme pour la question et la réponse
écho '';
autre
//Ajouter une mise en forme pour les options de réponse
écho '';

echo $json_data[$counter] ;
//Vérification des conditions d'ajout de la balise de fermeture span
if ( $json_data[$counter] == '"' && $flag )
écho '
';
if ( $json_data[$counter] == '"' )
$drapeau = !$drapeau ;
//Vérification des deuxième et troisième crochets de départ
if ( $json_data[$counter] == '' || $json_data[$counter] == '[' )

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


écho "
";

?>

Production:

La sortie suivante apparaîtra après l'exécution du fichier à partir du navigateur. Ici, chaque question et réponse des données JSON seront imprimées avec bleu couleur et audacieux format et, une autre partie sera imprimée avec rouge Couleur.

http://localhost/json/exp4.php

Conclusion

Comment vous pouvez imprimer des données JSON formatées en utilisant diverses options PHP sont essayées dans cet article. J'espère que le lecteur pourra appliquer le PHP pour formater les données JSON et générer une jolie sortie JSON après avoir correctement pratiqué les exemples ci-dessus.

Installez le dernier émulateur Dolphin pour Gamecube et Wii sur Linux
L'émulateur Dolphin vous permet de jouer aux jeux Gamecube et Wii de votre choix sur des ordinateurs personnels Linux (PC). Étant un émulateur de jeu...
Comment utiliser le moteur de triche GameConqueror sous Linux
L'article couvre un guide sur l'utilisation du moteur de triche GameConqueror sous Linux. De nombreux utilisateurs qui jouent à des jeux sur Windows u...
Meilleurs émulateurs de console de jeu pour Linux
Cet article répertorie les logiciels d'émulation de console de jeu populaires disponibles pour Linux. L'émulation est une couche de compatibilité logi...