php

Kā lasīt un izdrukāt diezgan JSON ar PHP

Kā lasīt un izdrukāt diezgan JSON ar PHP
JSON ir populārs datu glabāšanas formāts datu apmaiņai starp serveri un pārlūku. Tas ir atvasināts no JavaScript un atbalsta daudzas standarta programmēšanas valodas. Tas ir cilvēka nolasāms faila formāts, kuru ikviens viegli saprot, ja tas tiek drukāts ar pareizu formatējumu. JSON dati tiek drukāti vienā rindā, ja netiek piemērots formatējums. Bet šāda veida produkciju nav tik viegli saprast. Tātad formatētie JSON dati ir ļoti svarīgi, lai izprastu datu struktūru lasītājam. JSON datu formatēšanai tiek izmantota diezgan druka. JSON datus var attēlot cilvēkiem saprotamākā formā, izmantojot glītu druku. Ir daudz veidu, kā JSON datos pielietot glītu drukāšanu. Kā izmantot JSON diezgan drukāšanu, izmantojot PHP, ir parādīts šajā apmācībā, izmantojot dažādus piemērus.

1. piemērs: izdrukājiet JSON bez formatēšanas

json_encode () PHP funkciju izmanto, lai parsētu visus JSON datus. Izveidojiet failu ar nosaukumu exp1.php ar šādu kodu, lai lasītu vienkāršus JSON datus un izdrukātu izvadi. Šeit tiek deklarēts asociatīvs masīvs, lai ģenerētu JSON datus. JSON datiem kodā netiek piemērots formatējums. Tātad, JSON dati tiks izdrukāti vienā rindā JSON formātā.

exp1.php

// Deklarēt masīvu
$ kursi = masīvs ("1. modulis" => "HTML", "2. modulis" => "JavaScript", "3. modulis" => "CSS3",
"4. modulis" => "PHP");
// Izdrukājiet masīvu vienkāršā JSON formātā
echo json_encode ($ kursi);
?>

Izeja:

Pēc faila izpildīšanas no pārlūkprogrammas parādīsies šāda izeja.

http: // localhost / json / exp1.php

2. piemērs: izdrukājiet JSON, izmantojot opciju JSON_PRETTY_PRINT un galvenes () funkciju

PHP ir opcija nosaukta “JSON_PRETTY_PRINT” kas tiek izmantots ar json_encode () funkcija, lai drukātu JSON datus ar pareizu izlīdzināšanu un noteiktu formātu. Izveidojiet failu ar nosaukumu exp2.php ar šādu kodu. Kodā izmanto to pašu iepriekšējā masīva masīvu JSON_PRETTY_PRINT opcija. galvene () Funkcija tiek izmantota šeit, lai informētu pārlūku par faila saturu. Bez šīs funkcijas formatēšana netiks lietota.      

exp2.php

// Deklarēt masīvu
$ kursi = masīvs ("1. modulis" => "HTML", "2. modulis" => "JavaScript", "3. modulis" => "CSS3",
"4. modulis" => "PHP");
// Paziņojiet pārlūkam par faila veidu, izmantojot galvenes funkciju
header ('Content-type: text / javascript');
// Izdrukājiet masīvu vienkāršā JSON formātā
echo json_encode ($ kursi, JSON_PRETTY_PRINT);
?>

Izeja:

Pēc faila izpildīšanas no pārlūkprogrammas parādīsies šāda izeja. Tiks piemērots īpašs fonts un līdzinājums.

http: // localhost / json / exp2.php

3. piemērs: izdrukājiet JSON, izmantojot opciju JSON_PRETTY_PRINT un
 tagu

Formatēšanu, kas tiek piemērota iepriekšējā piemērā, var izdarīt, izmantojotiepriekš'tag vietā galvene () funkciju. Izveidojiet failu ar nosaukumu exp3.php ar šādu kodu. Šajā piemērā, sākot "pre" tags tiek izmantots pirms JSON datu ģenerēšanas. Rezultāts būs līdzīgs iepriekšējam piemēram.

exp3.php

$ data_arr = array ('Robin Nixon' => 'PHP, MySQL un JavaScript mācīšanās',
'Jon Duckett' => 'HTML un CSS: tīmekļa vietņu izstrāde un veidošana', 'Rob Foster' =>
“CodeIgniter 2 pavārgrāmata”);
?>

echo json_encode ($ data_arr, JSON_PRETTY_PRINT);
?>

Izeja:

Pēc faila izpildīšanas no pārlūkprogrammas parādīsies šāda izeja.

http: // localhost / json / exp3.php

4. piemērs: krāsaina JSON druka, izmantojot pielāgoto funkciju

Formatētie JSON dati tiek izdrukāti, izmantojot JSON_PRETTY_PRINT PHP opcija iepriekšējos piemēros. Bet, ja vēlaties izdrukāt JSON datus ar pielāgotu formātu, labāk izmantot lietotāja definēto PHP funkciju. Tas, kā CSS var lietot JSON datos, izmantojot PHP, galvenokārt parādīts šajā piemērā. Izveidojiet PHP failu ar nosaukumu exp4.php ar šādu kodu. Šajā piemērā tiek izmantoti lieli JSON dati, kas tiek saglabāti mainīgajā, $ dati. Lietotāja definēta funkcija, pretty_print () tiek izmantots kodā, lai formatētu JSON datus. Šai funkcijai ir arguments, kas agrāk tika nodots JSON datiem. A priekš cilpa tiek izmantota funkcijā, lai parsētu JSON datus un pirms datu drukāšanas izmantotu atšķirīgi ierakstītu formatējumu.

exp4.php

// Definējiet lielu Json datus
$ data = '"viktorīnas banka": "Dators": "q1": "question": "kurš ir izgudrotājs
dators?"," options ": [" Thomas Alva Edison "," Charles Babbage "," Blaise Pascal ",
"Philo Farnsworth"], "answer": "Charles Babbage", "q2": "jautājums":
"kura no šīm ir ievades ierīce?"," options ": [" Printeris "," Skeneris ",
"Monitor", "Keyboard"], "answer": "Keyboard", "PHP": "q1": "question":
"Kāda veida valoda ir PHP?"," options ": [" Augsta līmeņa valoda "," Zems līmenis
Valoda "," Skriptu valoda "," Montāžas valoda "]," atbilde ":" Skriptu valoda ",
"q2": "question": "Kāda ir pilna PHP forma?"," options ": [" Hypertext Preprocessor ",
"Personīgā mājas pakete", "Hiperteksta procesors", "Perdonal HTML lapa"], "atbilde":
"Hiperteksta priekšapstrādātājs" ';
// izsaukt pielāgoto funkciju Json datu formatēšanai
echo pretty_print ($ dati);
// Deklarēt pielāgoto funkciju formatēšanai
funkcija pretty_print ($ json_data)

// Inicializējiet mainīgo vietas pievienošanai
$ atstarpe = 0;
$ flag = nepatiesa;
// Izmantojot
 tagu, lai formatētu izlīdzināšanu un fontu
atbalss "
";
// cilpa visu Json datu atkārtošanai
for ($ skaitītājs = 0; $ skaitītājs
// Pārbauda beigu otro un trešo iekavu
ja ($ json_data [$ counter] == '' || $ json_data [$ counter] == ']')

$ telpa--;
atbalss "\ n";
echo str_repeat (", ($ atstarpe * 2));

 
// Pārbauda dubultu pēdiņu (“) un komatu (,)
ja ($ json_data [$ counter] == '"' && ($ json_data [$ counter-1] == ',' ||
$ json_data [$ counter-2] == ','))

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

ja ($ json_data [$ counter] == '' '&& !$ karogs)

ja ($ json_data [$ counter-1] == ':' || $ json_data [$ counter-2] == ':')
// Pievienojiet jautājuma un atbildes formatējumu
atbalss '";
cits
// Atbildes opcijām pievienojiet formatējumu
atbalss '";

echo $ json_data [$ skaitītājs];
// Noslēguma laiduma pievienošanas nosacījumu pārbaude
ja ($ json_data [$ counter] == '' '&& $ karodziņš)
atbalss '
";
ja ($ json_data [$ counter] == "" ")
$ karogs = !$ karogs;
// Sākuma otrās un trešās iekavas pārbaude
ja ($ json_data [$ counter] == '' || $ json_data [$ counter] == '[')

$ telpa ++;
atbalss "\ n";
echo str_repeat (", ($ atstarpe * 2));


atbalss "
";

?>

Izeja:

Pēc faila izpildīšanas no pārlūkprogrammas parādīsies šāda izeja. Šeit katrs JSON datu jautājums un atbilde tiks izdrukāta ar zils krāsa un treknrakstā formātā un ar citu daļu tiks izdrukāta sarkans krāsa.

http: // localhost / json / exp4.php

Secinājums

Šajā rakstā ir mēģināts parādīt, kā formatētus JSON datus drukāt, izmantojot dažādas PHP opcijas. Ceru, ka lasītājs varēs pareizi izmantot iepriekš minētos piemērus, izmantojot PHP, lai formatētu JSON datus un ģenerētu diezgan JSON izvades.

OpenTTD vs Simutrans
Transporta simulācijas izveide var būt jautra, relaksējoša un ārkārtīgi vilinoša. Tāpēc jums jāpārliecinās, ka izmēģināt pēc iespējas vairāk spēļu, la...
OpenTTD apmācība
OpenTTD ir viena no populārākajām biznesa simulācijas spēlēm. Šajā spēlē jums ir jāizveido brīnišķīgs transporta bizness. Tomēr jūs sāksit sākumā apmē...
SuperTuxKart operētājsistēmai Linux
SuperTuxKart ir lielisks nosaukums, kas paredzēts, lai sniegtu jums Mario Kart pieredzi bez maksas jūsu Linux sistēmā. Tas ir diezgan izaicinoši un ja...