php

Hvordan lese og skrive ut pen JSON med PHP

Hvordan lese og skrive ut pen JSON med PHP
JSON er et populært datalagringsformat for å utveksle data mellom server og nettleser. Den er hentet fra JavaScript og støttes av mange standard programmeringsspråk. Det er et menneskelig lesbart filformat som er lett å forstå for alle hvis det skrives ut med riktig formatering. JSON-data skrives ut på en enkelt linje når ingen formatering er brukt. Men denne typen produksjon er ikke så lettere å forstå. Så de formaterte JSON-dataene er veldig viktige for å forstå strukturen til dataene for leseren. Pretty print brukes til å formatere JSON-dataene. JSON-data kan vises i en mer lesbar form for mennesker ved å bruke pen utskrift. Det er mange måter å bruke pen utskrift i JSON-data. Hvordan du kan bruke JSON pen utskrift ved hjelp av PHP, vises i denne veiledningen ved hjelp av forskjellige eksempler.

Eksempel 1: Skriv ut JSON uten formatering

json_encode () funksjonen til PHP brukes til å analysere alle JSON-data. Opprett en fil med navnet exp1.php med følgende kode for å lese enkle JSON-data og skrive ut utdataene. Her erklæres en assosiativ matrise for å generere JSON-data. Ingen formatering brukes for JSON-data i koden. Så, JSON-data skrives ut på en enkelt linje i JSON-format.

exp1.php

// Erklære matrisen
$ courses = array ("Module-1" => "HTML", "Module-2" => "JavaScript", "Module-3" => "CSS3",
"Module-4" => "PHP");
// Skriv ut matrisen i et enkelt JSON-format
ekko json_encode ($ kurs);
?>

Produksjon:

Følgende utdata vises etter kjøring av filen fra nettleseren.

http: // localhost / json / exp1.php

Eksempel 2: Skriv ut JSON ved å bruke JSON_PRETTY_PRINT-alternativet og header () -funksjonen

PHP har et alternativ som heter 'JSON_PRETTY_PRINT' som brukes med json_encode () funksjon for å skrive ut JSON-data med riktig justering og bestemt format. Opprett en fil med navnet exp2.php med følgende kode. I koden brukes den samme matrisen i forrige eksempel for å se bruken JSON_PRETTY_PRINT alternativ. Overskrift() funksjonen brukes her for å informere nettleseren om filinnholdet. Ingen formatering blir brukt uten denne funksjonen.      

exp2.php

// Deklarer matrisen
$ courses = array ("Module-1" => "HTML", "Module-2" => "JavaScript", "Module-3" => "CSS3",
"Module-4" => "PHP");
// Gi beskjed til nettleseren om filtypen ved hjelp av toppfunksjonen
header ('Content-type: text / javascript');
// Skriv ut matrisen i et enkelt JSON-format
ekko json_encode ($ kurs, JSON_PRETTY_PRINT);
?>

Produksjon:

Følgende utdata vises etter kjøring av filen fra nettleseren. En bestemt skrift og justering vil bli brukt.

http: // localhost / json / exp2.php

Eksempel 3: Skriv ut JSON ved å bruke JSON_PRETTY_PRINT-alternativet og
 stikkord

Formateringen som er brukt i forrige eksempel kan gjøres ved å bruke 'pre'tag i stedet for Overskrift() funksjon. Opprett en fil med navnet exp3.php med følgende kode. I dette eksemplet starter 'pre' tag brukes før generering av JSON-data. Utgangen vil være lik det forrige eksemplet.

exp3.php

$ data_arr = array ('Robin Nixon' => 'Lære PHP, MySQL og JavaScript',
'Jon Duckett' => 'HTML & CSS: Design og bygg nettsteder', 'Rob Foster' =>
'CodeIgniter 2 Cookbook');
?>

ekko json_encode ($ data_arr, JSON_PRETTY_PRINT);
?>

Produksjon:

Følgende utdata vises etter kjøring av filen fra nettleseren.

http: // localhost / json / exp3.php

Eksempel 4: Fargerik JSON-utskrift ved bruk av den egendefinerte funksjonen

Formaterte JSON-data skrives ut ved hjelp av JSON_PRETTY_PRINT alternativet PHP i de foregående eksemplene. Men hvis du vil skrive ut JSON-data med det tilpassede formatet, er det bedre å bruke den brukerdefinerte funksjonen til PHP. Hvordan du kan bruke CSS i JSON-data ved hjelp av PHP, vises hovedsakelig i dette eksemplet. Opprett en PHP-fil med navnet exp4.php med følgende kode. Det brukes store JSON-data i dette eksemplet som er lagret i variabelen, $ data. En brukerdefinert funksjon, pretty_print () brukes i koden for å formatere JSON-dataene. Denne funksjonen har et argument som brukes til å overføre JSON-dataene. EN til loop brukes i funksjonen til å analysere JSON-dataene og bruke forskjellige typer formatering før dataene skrives ut.

exp4.php

// Definer store json-data
$ data = '"quiz bank": "Computer": "q1": "question": "hvem er oppfinneren av
datamaskin?"," options ": [" Thomas Alva Edison "," Charles Babbage "," Blaise Pascal ",
"Philo Farnsworth"], "answer": "Charles Babbage", "q2": "spørsmål":
"hvilket av følgende er en inngangsenhet?"," options ": [" Skriver "," Skanner ",
"Monitor", "Keyboard"], "answer": "Keyboard", "PHP": "q1": "question":
"Hva slags språk er PHP?"," options ": [" High Level Language "," Low level
Språk "," Scripting Language "," Assembly Language "]," answer ":" Scripting Language ",
"q2": "question": "Hva er den fulle formen for PHP?"," options ": [" Hypertext Preprocessor ",
"Personal Home Package", "Hypertext Processor", "Perdonal HTML Page"], "answer":
"Hypertext Preprocessor" ';
// ring tilpasset funksjon for formatering av json-data
ekko pretty_print ($ data);
// Deklarer den egendefinerte funksjonen for formatering
funksjon pretty_print ($ json_data)

// Initialiser variabelen for å legge til plass
$ mellomrom = 0;
$ flagg = falsk;
//Ved hjelp av
 tag for å formatere justering og skrift
ekko "
";
// loop for iterering av fullstendige json-data
for ($ counter = 0; $ counter
// Kontrollerer slutt andre og tredje parentes
hvis ($ json_data [$ counter] == '' || $ json_data [$ counter] == ']')

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

 
// Sjekker for dobbelt anførselstegn (“) og komma (,)
hvis ($ json_data [$ counter] == '"' && ($ json_data [$ counter-1] == ',' ||
$ json_data [$ counter-2] == ','))

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

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

hvis ($ json_data [$ counter-1] == ':' || $ json_data [$ counter-2] == ':')
// Legg til formatering for spørsmål og svar
ekko '';
ellers
// Legg til formatering for svaralternativer
ekko '';

ekko $ json_data [$ counter];
// Kontrollerer vilkår for å legge til lukketidstag
if ($ json_data [$ counter] == '"' && $ flagg)
ekko '
';
hvis ($ json_data [$ counter] == '"')
$ flagg = !$ flagg;
// Kontrollerer start andre og tredje parentes
hvis ($ json_data [$ counter] == '' || $ json_data [$ counter] == '[')

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


ekko "
";

?>

Produksjon:

Følgende utdata vises etter kjøring av filen fra nettleseren. Her vil hvert spørsmål og svar på JSON-data skrives ut med blå farge og dristig format, og en annen del vil bli skrevet ut med rød farge.

http: // localhost / json / exp4.php

Konklusjon

Hvordan du kan skrive ut formaterte JSON-data ved hjelp av forskjellige PHP-alternativer, blir prøvd å vise i denne artikkelen. Håper, leseren vil kunne bruke PHP for å formatere JSON-data og generere pen JSON-utgang etter å ha praktisert eksemplene ovenfor riktig.

Beste Gamepad Mapping Apps for Linux
Hvis du liker å spille spill på Linux med en gamepad i stedet for et vanlig tastatur- og musinngangssystem, er det noen nyttige apper for deg. Mange P...
Nyttige verktøy for Linux-spillere
Hvis du liker å spille spill på Linux, er sjansen stor for at du har brukt apper og verktøy som Wine, Lutris og OBS Studio for å forbedre spilloppleve...
HD Remastered Games for Linux som aldri hadde en Linux-utgave tidligere
Mange spillutviklere og utgivere kommer med HD-remaster av gamle spill for å forlenge franchisetiden, vennligst fans som ber om kompatibilitet med mod...