Comment lire et imprimer Json avec PHP

Comment lire et imprimer 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 soutenu par de nombreux langages de programmation standard. Il s'agit d'un format de fichier lisible par l'homme que quiconque comprend rapidement s'il imprime avec une mise en forme appropriée. JSON Data imprime en une seule ligne lorsqu'aucune mise en forme n'est appliquée. Mais ce type de sortie n'est pas plus facile à comprendre. Ainsi, les données JSON formatées sont très importantes pour que le lecteur comprenne la structure des données. Une jolie impression est utilisée 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 imprimerie jolie dans les données JSON. Les façons d'appliquer JSON assez imprimées à l'aide de PHP sont présentées dans ce tutoriel à travers divers exemples.

Conditions préalables:

Les exemples de ce tutoriel ont été vérifiés pour PHP version 8+. Donc, vous devez installer PHP 8.0 et un serveur Apache avant de pratiquer les exemples de ce tutoriel.

Exemple 1: Imprimez JSON sans formatage

Le json_encode () La fonction de PHP est utilisée pour analyser toutes les données JSON. Créez un fichier PHP avec le script suivant pour lire une simple données JSON et imprimer la sortie. Ici, un tableau associatif a été déclaré générer les données JSON. Aucun formatage n'est appliqué pour les données JSON dans le script.Ainsi, les données JSON seront imprimées en une seule ligne.

// 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
echojson_encode ($ cours);
?>

Sortir:

La sortie suivante apparaîtra après avoir exécuté le script précédent du navigateur:

Exemple 2: imprimer JSON à l'aide de JSON_PRETTY_PRINT et d'en-tête ()

PHP a une option nommée "JSON_PRETTY_PRINT" utilisé avec json_encode () fonction pour imprimer des données JSON avec un alignement approprié et un format particulier. Créer un fichier PHP avec le script suivant. Ici le Json_pretty_print L'option a été utilisée pour imprimer les données JSON. L'en-tête () La fonction est utilisée ici pour informer le navigateur du contenu du fichier. Aucun formatage ne sera appliqué sans cette fonction.

// Déclarer le tableau
$ Courses = Array ("module-1" => "html", "module-2" => "javascript", "module-3" => "css3", "module-4" => "php");
// informer le navigateur du type de fichier à l'aide de la fonction d'en-tête
En-tête ('Content-Type: Text / JavaScript');
// imprime le tableau dans un format JSON simple
echojson_encode ($ cours, json_pretty_print);
?>

Sortir:

La sortie suivante apparaîtra après avoir exécuté le script précédent du navigateur. Une police et un alignement spécifiques ont été appliqués ici:

Exemple 3: Imprimez JSON à l'aide de json_pretty_print et

 étiqueter

Le formatage appliqué dans l'exemple précédent peut être fait en utilisant «<pre>”Tag à la place de entête() fonction. Créer un fichier PHP avec le script suivant. Dans cet exemple, le départ "

" La balise est utilisée avant de générer des données JSON.

$ data_arr = array ('Robin Nixon' => 'Learning Php, MySQL et JavaScript', 'Jon Duckett' => 'HTML & CSS: Design and Build Sites Web', 'Rob Foster' => 'Codeigniter 2 Cookbook')) ;
?>

echo json_encode ($ data_arr, json_pretty_print);
?>

Sortir:

La sortie suivante apparaîtra après avoir exécuté le script précédent du navigateur. La sortie ressemble à l'exemple précédent, comme indiqué ci-dessous.

Exemple 4: Imprimez JSON à l'aide de JSON_PRETTY_PRINT et Fonction personnalisée

Les données JSON formatées sont imprimées à l'aide du Json_pretty_print option et le

 Tag 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. Cet exemple montre comment vous pouvez appliquer CSS dans les données JSON à l'aide de PHP. Créer un fichier PHP avec le script suivant. Une vaste données JSON a été utilisée dans cet exemple qui est stocké dans la variable, $ data. Une fonction définie par l'utilisateur, pretty_print () a été utilisé dans le code pour formater les données JSON. Cette fonction a un argument qui a été utilisé pour transmettre les données JSON. UN pour Loop a été utilisé pour analyser les données JSON et appliquer le formatage avant d'imprimer les données.

// définir une grande donnée JSON
$ data = '"Quiz Bank": "Computer": "Q1": "Question": "Qui est l'inventeur de l'ordinateur?"," Options ": [" Thomas Alva Edison "," Charlesbabbage "," Blaise Pascal "," Philo Farnsworth "]," Réponse ":" Charles Babbage ", " Q2 ": " Question ":" qui de ce qui suit est un dispositif d'entrée?"," Options ": [" imprimante "," scanner "," moniteur "," clavier "]," réponse ":" clavier "," php ": " Q1 ": " Question ":" quoi Le type de langue est PHP?"," Options ": [" Language de haut niveau "," Langage de bas niveau "," ScriptingNanguage "," Assembly Language "]," Réponse ":" Scripting Language "," Q2 ": " Question ":" Quoi est la forme complète de PHP?"," Options ": [" Hypertext Preprocessor "," Personal Home Package "," Hypertext Processor "," Page HTML Perdonal "]," Réponse ":" Hypertext Preprocesseur " ';
// appelle la fonction personnalisée pour le formatage des données JSON
echopretty_print ($ data);
// Déclarer la fonction personnalisée pour le formatage
FunctionPretty_print ($ JSON_DATA)

// Initialiser la variable pour l'ajout d'espace
$ espace = 0;
$ Flag = false;
//En utilisant
 Tag pour formater l'alignement et la police 
écho"
"
// Boucle pour itérer les données JSON complètes
pour ($ compteur = 0; $ compteur
// Vérification de la fin des deuxième et troisième supports
if ($ JSON_DATA [$ COMPRESS] == '' || $ JSON_DATA [$ COMPRESS] == ']')

$ spatial--;
Echo "\ n";
echostr_repeat (", ($ spatial * 2));

// Vérification de la double citation («) et de la virgule (,)
if ($ json_data [$ compteur] == '"' && ($ json_data [$ compteur-1] == ',' || $ json_data [$ compteur-2] == ','))

Echo "\ n";
echostr_repeat (", ($ spatial * 2));

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

if ($ JSON_DATA [$ compter-1] == ':' || $ JSON_DATA [$ contre-2] == ':')
// Ajouter du formatage pour la question et la réponse
écho'';
autre
// Ajouter du formatage pour les options de réponse
écho'';

echo $ json_data [$ compteur];
// Vérification des conditions pour l'ajout de la balise de portée de clôture
if ($ json_data [$ compteur] == '"' && $ drapeau)
écho'';
if ($ json_data [$ compteur] == '"')
$ drapeau = !$ drapeau;
// Vérification de départ des deuxième et troisième supports
if ($ JSON_DATA [$ COMPRESS] == '' || $ JSON_DATA [$ COMPRESS] == '[')

$ spatial ++;
Echo "\ n";
echostr_repeat (", ($ spatial * 2));


écho"
"

?>

Sortir:

La sortie suivante apparaîtra après avoir exécuté le script précédent du navigateur. Ici, chaque question et réponse des données JSON ont été imprimées avec bleu couleur et gras format, et une autre partie a été imprimée avec rouge couleur:

Exemple 5: Imprimez JSON à l'aide de JSON_ENCODODE () et JSON_DECODE ()

Créez un fichier PHP avec le script suivant pour connaître la façon d'imprimer les données JSON à l'aide des fonctions JSON_ENCODODE () et JSON_DECODE ().

// définir les données JSON dans une variable
$ jSondata = '"11897": "Megha Hossain", "11564": "Abir Hasan", "11234": "Joya Ahmed"';
// Encode la valeur JSON
$ decoded_data = json_decode ($ jSondata);
En-tête ('Content-Type: Text / JavaScript');
// Imprime les données JSON après Decode
Echo "La sortie des données JSON: \ n";
echo json_encode ($ decoded_data, json_pretty_print);
?>

Sortir:

La sortie suivante apparaîtra après avoir exécuté le script précédent du navigateur:

Exemple 6: Imprimez le contenu d'un fichier JSON à l'aide de JSON_DECODE ()

Dans les exemples précédents, les données JSON ont été déclarées dans le script PHP. Mais le contenu d'un fichier JSON peut être analysé en utilisant le script PHP. Créer un fichier JSON nommé étudiants.json avec le contenu suivant:

étudiants.json
[

"Id": "0111897",
"Nom": "Walliur Rahman",
"Département": "CSE",
"Lot": "30e"
,

"Id": "0111456",
"Nom": "Minhazkazi",
"Département": "CSE",
"Lot": "30e"
,

"Id": "0111897",
"Nom": "Akramasouchi",
"Département": "CSE",
"Lot": "30e"

]]

Créez un fichier PHP avec le script suivant pour lire le étudiants.json fichier en utilisant le file_get_contents () et JSON_DECODE () les fonctions. Ensuite, le pour chaque Loop a été utilisé pour imprimer les données JSON de manière formatée.

// Lire le contenu d'un fichier JSON
$ étudiants = file_get_contents ('étudiants.JSON ');
// décode les données JSON dans un tableau
$ decoded_data = json_decode ($ étudiants, true);
écho "Nom d'identité Batch des départements
"
// imprime les données JSON
foreach ($ decoded_data comme $ étudiant)
$ Id = $ étudiant ['id'];
$ name = $ étudiant ['name'];
$ département = $ étudiant ['département'];
$ Batch = $ Student ['Batch'];
echo "$ id $ name $ département $ lot
"

?>

Sortir:

La sortie suivante apparaîtra après avoir exécuté le script précédent du navigateur:

Exemple 7: Lire le fichier JSON des valeurs de clés aléatoires

Le contenu du fichier JSON est accessible en fonction de la valeur clé et est requis lorsque le fichier JSON contient des clés aléatoires. Créer un fichier JSON nommé RandomKey.JSON avec le contenu suivant:

randonnée.json

"7856":
"nom": "mobile",
"Brand": "Samaung",
"modèle": "J4",
"Prix": 500
,
"4320":
"nom": "ordinateur portable",
"marque": "HP",
"modèle": "Pavilion 15",
"Prix": 1000
,
"9067":
"nom": "tablette",
"marque": "Asus",
"modèle": "CT100PA",
"Prix": 200
,
"1675":
"nom": "Desktop",
"Brand": "Dell",
"modèle": "Aucun",
"Prix": 700

Créez un fichier PHP avec le script suivant pour lire le randonnée.json fichier en utilisant le file_get_contents () et JSON_DECODE () les fonctions. Ensuite, le pour chaque Loop a été utilisé pour rechercher des informations sur les produits particuliers en fonction de la valeur de recherche donnée dans le paramètre de requête.

// Lire le fichier JSON
$ randomkey = file_get_contents ('RandomKey.JSON ');
// initialise la variable
$ trouvé = false;
// Convertir la chaîne JSON en tableau
$ decoded_json = json_decode ($ randomKey, true);
// Lire la valeur de recherche à partir de l'URL
if (isset ($ _ get ['s'])))
$ search_product = $ _get ['s'];
autre

écho "rien à rechercher";
sortie;

// itérera la valeur JSON et recherchez la marque
foreach ($ decoded_jsonas $ k => $ v)
$ Brand = $ decoded_json [$ k] ["marque"];
if ($ brand == $ search_product)

$ name = $ decoded_json [$ k] ["name"];
$ modèle = $ decoded_json [$ k] ["modèle"];
$ prix = $ decoded_json [$ k] ["prix"];
$ Found = true;
Echo "Nom du produit: $ Nom
Marque: $ marque
Modèle: $ modèle
Prix: $ Price ";


// Imprime le message si la valeur de recherche n'est pas trouvée
if ($ trouvé == false)
Echo "Le produit n'existe pas."
?>

Sortir:

Exécutez le script précédent sans aucun paramètre de requête:

http: // localhost / phpcode / json7.php

Exécutez le script précédent avec une valeur de paramètre de requête qui existe dans le fichier JSON:

http: // localhost / phpcode / json7.php?S = HP

Exécutez le script précédent avec une valeur de paramètre de requête qui n'existe pas dans le fichier JSON:

http: // localhost / phpcode / json7.php?s = del

Conclusion

Les différentes façons d'imprimer des données JSON formatées en utilisant divers scripts PHP ont été discutées dans ce tutoriel. Espérons que les utilisateurs de PHP pourront formater les données JSON et générer une jolie sortie JSON à l'aide du script PHP après avoir pratiqué les exemples fournis correctement. Nous espérons que vous avez trouvé cet article utile. Vérifiez les autres articles sur les indices Linux pour plus de conseils et d'informations.