php

Sådan læses og udskrives smuk JSON med PHP

Sådan læses og udskrives smuk JSON med PHP
JSON er et populært datalagringsformat til udveksling af data mellem server og browser. Det stammer fra JavaScript og understøttes af mange standardprogrammeringssprog. Det er et menneskeligt læsbart filformat, der let forstås af alle, hvis det udskrives med korrekt formatering. JSON-data udskrives på en enkelt linje, når der ikke anvendes nogen formatering. Men denne type output er ikke så lettere at forstå. Så de formaterede JSON-data er meget vigtige for at forstå strukturen af ​​dataene til læseren. Pretty print bruges til at formatere JSON-data. JSON-data kan repræsenteres i en mere læselig form for mennesker ved hjælp af smuk udskrivning. Der er mange måder at anvende pæn udskrivning på JSON-data. Hvordan du kan anvende JSON smuk udskrivning ved hjælp af PHP vises i denne vejledning ved hjælp af forskellige eksempler.

Eksempel 1: Udskriv JSON uden formatering

json_encode () funktion af PHP bruges til at analysere alle JSON-data. Opret en fil med navnet eksp1.php med følgende kode for at læse enkle JSON-data og udskrive output. Her erklæres et associerende array for at generere JSON-data. Ingen formatering anvendes til JSON-data i koden. Så JSON-data udskrives i en enkelt linje i JSON-format.

eksp1.php

// Erklær arrayet
$ courses = array ("Module-1" => "HTML", "Module-2" => "JavaScript", "Module-3" => "CSS3",
"Module-4" => "PHP");
// Udskriv arrayet i et simpelt JSON-format
ekko json_encode ($ kurser);
?>

Produktion:

Følgende output vises efter udførelse af filen fra browseren.

http: // localhost / json / exp1.php

Eksempel 2: Udskriv JSON ved hjælp af JSON_PRETTY_PRINT option og header () -funktion

PHP har en indstilling navngivet 'JSON_PRETTY_PRINT' som bruges sammen med json_encode () funktion til at udskrive JSON-data med korrekt justering og bestemt format. Opret en fil med navnet eksp2.php med følgende kode. I koden bruges det samme array i det foregående eksempel til at se brugen JSON_PRETTY_PRINT mulighed. header() funktionen bruges her til at informere browseren om filindholdet. Ingen formatering anvendes uden denne funktion.      

eksp2.php

// Erklær arrayet
$ courses = array ("Module-1" => "HTML", "Module-2" => "JavaScript", "Module-3" => "CSS3",
"Module-4" => "PHP");
// Underret browseren om filtypen ved hjælp af headerfunktion
header ('Content-type: text / javascript');
// Udskriv arrayet i et simpelt JSON-format
ekko json_encode ($ kurser, JSON_PRETTY_PRINT);
?>

Produktion:

Følgende output vises efter udførelse af filen fra browseren. En bestemt skrifttype og justering vil blive anvendt.

http: // localhost / json / exp2.php

Eksempel 3: Udskriv JSON ved hjælp af JSON_PRETTY_PRINT-indstillingen og
 tag

Formateringen, der er anvendt i det foregående eksempel, kan udføres ved hjælp af 'præ'tag i stedet for header() fungere. Opret en fil med navnet eksp3.php med følgende kode. I dette eksempel starter den 'pre' tag bruges inden generering af JSON-data. Outputtet svarer til det foregående eksempel.

eksp3.php

$ data_arr = array ('Robin Nixon' => 'Læring af PHP, MySQL og JavaScript',
'Jon Duckett' => 'HTML & CSS: Design og opbyg websteder', 'Rob Foster' =>
'CodeIgniter 2 Kogebog');
?>

ekko json_encode ($ data_arr, JSON_PRETTY_PRINT);
?>

Produktion:

Følgende output vises efter udførelse af filen fra browseren.

http: // localhost / json / exp3.php

Eksempel 4: Farverig JSON-udskrivning ved hjælp af den brugerdefinerede funktion

Formaterede JSON-data udskrives ved hjælp af JSON_PRETTY_PRINT mulighed for PHP i de foregående eksempler. Men hvis du vil udskrive JSON-data med det brugerdefinerede format, er det bedre at bruge den brugerdefinerede funktion af PHP. Hvordan du kan anvende CSS i JSON-data ved hjælp af PHP vises hovedsageligt i dette eksempel. Opret en PHP-fil med navnet eksp4.php med følgende kode. En stor JSON-data bruges i dette eksempel, der er gemt i variablen, $ data. En brugerdefineret funktion, pretty_print () bruges i koden til at formatere JSON-data. Denne funktion har et argument, der bruges til at videregive JSON-dataene. EN til loop bruges i funktionen til at analysere JSON-dataene og anvende forskelligt skrevet formatering inden udskrivning af dataene.

eksp4.php

// Definer store json-data
$ data = '"quiz bank": "Computer": "q1": "spørgsmål": "hvem er opfinderen af
computer?"," options ": [" Thomas Alva Edison "," Charles Babbage "," Blaise Pascal ",
"Philo Farnsworth"], "answer": "Charles Babbage", "q2": "spørgsmål":
"hvilket af følgende er en inputenhed?"," options ": [" Printer "," Scanner ",
"Monitor", "Keyboard"], "answer": "Keyboard", "PHP": "q1": "spørgsmål":
"Hvilken type sprog er PHP?"," options ": [" High Level Language "," Lavt niveau
Sprog "," Scripting Language "," Assembly Language "]," answer ":" Scripting Language ",
"q2": "spørgsmål": "Hvad er den fulde form for PHP?"," options ": [" Hypertext Preprocessor ",
"Personal Home Package", "Hypertext Processor", "Perdonal HTML Page"], "answer":
"Hypertext Preprocessor" ';
// kalde brugerdefineret funktion til formatering af JSON-data
ekko pretty_print ($ data);
// Erklær den brugerdefinerede funktion til formatering
funktion pretty_print ($ json_data)

// Initialiser variablen for at tilføje plads
$ mellemrum = 0;
$ flag = falsk;
//Ved brug af
 tag for at formatere justering og skrifttype
ekko "
";
// loop til iterering af de fulde json-data
for ($ counter = 0; $ counter
// Kontrollerer afslutning af andet og tredje parentes
hvis ($ json_data [$ counter] == '' || $ json_data [$ counter] == ']')

$ mellemrum--;
ekko "\ n";
ekko str_repeat (", ($ mellemrum * 2));

 
// Kontrol af dobbelt citat (“) og komma (,)
hvis ($ json_data [$ counter] == '"' && ($ json_data [$ counter-1] == ',' ||
$ json_data [$ counter-2] == ','))

ekko "\ n";
ekko str_repeat (", ($ mellemrum * 2));

hvis ($ json_data [$ counter] == '"' && !$ flag)

hvis ($ json_data [$ counter-1] == ':' || $ json_data [$ counter-2] == ':')
// Tilføj formatering til spørgsmål og svar
ekko '';
andet
// Tilføj formatering for svarmuligheder
ekko '';

ekko $ json_data [$ counter];
// Kontrol af betingelser for tilføjelse af lukkespændtag
hvis ($ json_data [$ counter] == '"' && $ flag)
ekko '
';
hvis ($ json_data [$ counter] == '"')
$ flag = !$ flag;
// Kontrol af start andet og tredje parentes
hvis ($ json_data [$ counter] == '' || $ json_data [$ counter] == '[')

$ space ++;
ekko "\ n";
ekko str_repeat (", ($ mellemrum * 2));


ekko "
";

?>

Produktion:

Følgende output vises efter udførelse af filen fra browseren. Her vil hvert spørgsmål og svar på JSON-data blive udskrevet med blå farve og fremhævet format, og en anden del udskrives med rød farve.

http: // localhost / json / exp4.php

Konklusion

Hvordan du kan udskrive formaterede JSON-data ved hjælp af forskellige PHP-indstillinger, forsøges at vise i denne artikel. Håber, læseren vil være i stand til at anvende PHP til at formatere JSON-data og generere smuk JSON-output efter at have praktiseret ovenstående eksempler korrekt.

Mus AppyMouse pegefelt på skærmen og musemarkør til Windows-tablets
AppyMouse pegefelt på skærmen og musemarkør til Windows-tablets
Tabletbrugere savner ofte musemarkøren, især når de er vante til at bruge bærbare computere. Touchscreen-smartphones og tablets har mange fordele, og ...
Mus Midterste museknap fungerer ikke i Windows 10
Midterste museknap fungerer ikke i Windows 10
Det midterste museknap hjælper dig med at rulle gennem lange websider og skærme med en masse data. Hvis det stopper, vil du ende med at bruge tastatur...
Mus Sådan ændres venstre og højre museknap på Windows 10-pc
Sådan ændres venstre og højre museknap på Windows 10-pc
Det er en ganske normal, at alle computermusenheder er ergonomisk designet til højrehåndede brugere. Men der er musenheder til rådighed, der er specie...