php

Kaip skaityti ir atsispausdinti gana JSON su PHP

Kaip skaityti ir atsispausdinti gana JSON su PHP
JSON yra populiarus duomenų saugojimo formatas, skirtas keistis duomenimis tarp serverio ir naršyklės. Jis gaunamas iš „JavaScript“ ir palaiko daug standartinių programavimo kalbų. Tai yra visiems suprantamas failo formatas, kurį lengvai supranta kiekvienas, jei jis spausdinamas tinkamai formatuojant. JSON duomenys spausdinami vienoje eilutėje, kai netaikomas formatavimas. Tačiau tokio tipo produkciją nėra taip lengviau suprasti. Taigi, suformatuoti JSON duomenys yra labai svarbūs norint suprasti duomenų struktūrą skaitytojui. JSON duomenims formatuoti naudojamas gražus spausdinimas. JSON duomenis galima pateikti žmonėms suprantamesnėje formoje naudojant gražų spausdinimą. Yra daug būdų, kaip JSON duomenyse pritaikyti gražų spausdinimą. Kaip galite pritaikyti gražų JSON spausdinimą naudodami PHP, šiame vadovėlyje parodyta naudojant įvairius pavyzdžius.

1 pavyzdys: atsispausdinkite JSON be formatavimo

json_encode () PHP funkcija naudojama išanalizuoti visus JSON duomenis. Sukurkite failą pavadinimu exp1.php su šiuo kodu, norėdami perskaityti paprastus JSON duomenis ir atspausdinti išvestį. Čia deklaruojamas asociatyvusis masyvas, skirtas generuoti JSON duomenis. JSON duomenims kode netaikomas joks formatavimas. Taigi, JSON duomenys bus spausdinami viena eilute JSON formatu.

exp1.php

// Deklaruoti masyvą
$ kursai = masyvas ("1 modulis" => "HTML", "2 modulis" => "" JavaScript "," 3 modulis "=>" CSS3 ",
"4 modulis" => "PHP");
// Spausdinkite masyvą paprastu JSON formatu
echo json_encode ($ kursai);
?>

Išvestis:

Ši išvestis bus rodoma vykdant failą iš naršyklės.

http: // localhost / json / exp1.php

2 pavyzdys: spausdinkite JSON naudodami parinktį JSON_PRETTY_PRINT ir antraštės () funkciją

PHP turi parinktį, pavadintą „JSON_PRETTY_PRINT“ kuri naudojama su json_encode () funkcija spausdinti JSON duomenis tinkamu lygiavimu ir tam tikru formatu. Sukurkite failą pavadinimu exp2.php su tokiu kodu. Kode naudojamas tas pats ankstesnio pavyzdžio masyvas, kad būtų galima pamatyti naudojimą JSON_PRETTY_PRINT variantą. antraštė () funkcija naudojama naršyklės informavimui apie failo turinį. Be šios funkcijos formatavimas nebus taikomas.      

exp2.php

// Deklaruoti masyvą
$ kursai = masyvas ("1 modulis" => "HTML", "2 modulis" => "JavaScript", "3 modulis" => "CSS3",
"4 modulis" => "PHP");
// Pranešti naršyklei apie failo tipą naudojant antraštės funkciją
antraštė ('Content-type: text / javascript');
// Spausdinkite masyvą paprastu JSON formatu
echo json_encode ($ kursai, JSON_PRETTY_PRINT);
?>

Išvestis:

Ši išvestis bus rodoma vykdant failą iš naršyklės. Bus taikomas konkretus šriftas ir lygiavimas.

http: // localhost / json / exp2.php

3 pavyzdys: spausdinkite JSON naudodami parinktį JSON_PRETTY_PRINT ir
 žyma

Ankstesniame pavyzdyje pritaikytą formatavimą galima atlikti naudojantišankstinis'vietoj antraštė () funkcija. Sukurkite failą pavadinimu exp3.php su tokiu kodu. Šiame pavyzdyje pradedant „išankstinis“ žyma naudojama prieš generuojant JSON duomenis. Išvestis bus panaši į ankstesnį pavyzdį.

exp3.php

$ data_arr = array ('Robin Nixon' => 'Mokytis PHP, MySQL ir JavaScript',
'Jon Duckett' => 'HTML ir CSS: svetainių kūrimas ir kūrimas', 'Rob Foster' =>
„CodeIgniter 2 Cookbook“);
?>

echo json_encode ($ data_arr, JSON_PRETTY_PRINT);
?>

Išvestis:

Ši išvestis pasirodys atlikus failą iš naršyklės.

http: // localhost / json / exp3.php

4 pavyzdys: spalvotas JSON spausdinimas naudojant pasirinktinę funkciją

Suformatuoti JSON duomenys spausdinami naudojant JSON_PRETTY_PRINT PHP parinktis ankstesniuose pavyzdžiuose. Bet jei norite spausdinti JSON duomenis pasirinktiniu formatu, geriau naudoti vartotojo nustatytą PHP funkciją. Kaip galite naudoti CSS JSON duomenyse naudodami PHP, daugiausia parodyta šiame pavyzdyje. Sukurkite PHP failą pavadinimu exp4.php su tokiu kodu. Šiame pavyzdyje naudojami dideli JSON duomenys, kurie saugomi kintamajame, $ duomenų. Vartotojo nustatyta funkcija, pretty_print () yra naudojamas kode JSON duomenims formatuoti. Ši funkcija turi argumentą, kuris buvo naudojamas perduoti JSON duomenis. A dėl ciklas yra naudojamas funkcijoje išanalizuoti JSON duomenis ir prieš spausdinant duomenis pritaikyti skirtingo tipo formatavimą.

exp4.php

// Apibrėžkite didelius „Json“ duomenis
$ data = '"viktorinos bankas": "Kompiuteris": "q1": "question": "kas yra išradėjas
kompiuteris?"," variantai ": [" Thomas Alva Edison "," Charles Babbage "," Blaise Pascal ",
"Philo Farnsworth"], "answer": "Charlesas Babbage", "q2": "klausimas":
"kuris iš šių yra įvesties įrenginys?"," options ": [" Printer "," Scanner ",
„Monitorius“, „Klaviatūra“], „atsakymas“: „Klaviatūra“, „PHP“: "q1": "klausimas":
"Kokia kalba yra PHP?"," options ": [" Aukšto lygio kalba "," Žemas lygis
Kalba “,„ scenarijų kalba “,„ surinkimo kalba “],„ atsakymas “:„ scenarijų kalba “,
"q2": "question": "Kokia yra visa PHP forma?"," options ": [" Hypertext Preprocessor ",
„Asmeninis namų paketas“, „Hiperteksto procesorius“, „Perdonal HTML puslapis“], „atsakymas“:
"Hiperteksto pirminis procesorius" ';
// iškviesti pasirinktinę funkciją formuoti „Json“ duomenis
echo pretty_print ($ duomenys);
// Paskelbkite pasirinktinę formatavimo funkciją
funkcija pretty_print ($ json_data)

// Inicializuokite kintamąjį, kad pridėtumėte vietos
$ tarpas = 0;
$ flag = klaidinga;
// Naudojant
 žyma formatuoti lygiavimą ir šriftą
aidas "
";
// kilpa, skirta pakartoti visus „Json“ duomenis
for ($ counter = 0; $ counter
// Galinių antrųjų ir trečiųjų skliaustų tikrinimas
jei ($ json_data [$ counter] == '' || $ json_data [$ counter] == ']')

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

 
// Tikrinama dviguba citata (“) ir kablelis (,)
if ($ json_data [$ counter] == '"' && ($ json_data [$ counter-1] == ',' ||
$ json_data [$ counter-2] == ','))

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

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

jei ($ json_data [$ counter-1] == ':' || $ json_data [$ counter-2] == ':')
// Pridėti klausimo ir atsakymo formatavimą
aidas '";
Kitas
// Pridėti atsakymų parinkčių formatavimą
aidas '";

echo $ json_data [$ skaitiklis];
// Tikrinamos uždaromosios žymos žymos pridėjimo sąlygos
jei ($ json_data [$ counter] == '' '&& $ vėliava)
aidas '
";
jei ($ json_data [$ counter] == "" ")
$ flag = !$ vėliava;
// Pradinių antrų ir trečių skliaustų tikrinimas
jei ($ json_data [$ counter] == '' || $ json_data [$ counter] == '[')

$ tarpas ++;
aidas "\ n";
echo str_repeat (", ($ tarpas * 2));


aidas "
";

?>

Išvestis:

Ši išvestis bus rodoma vykdant failą iš naršyklės. Čia bus išspausdinti visi JSON duomenų klausimai ir atsakymai mėlyna spalva ir drąsus formatas, ir bus atspausdinta kita dalis raudona spalva.

http: // localhost / json / exp4.php

Išvada

Šiame straipsnyje bandoma parodyti, kaip galite atspausdinti suformatuotus JSON duomenis naudodami įvairias PHP parinktis. Tikiuosi, kad skaitytojas galės pritaikyti PHP formatuodamas JSON duomenis ir sugeneruodamas gana JSON išvestį, tinkamai praktikavęs pirmiau pateiktus pavyzdžius.

Kaip pakeisti kairįjį ir dešinįjį pelės mygtukus „Windows 10“ kompiuteryje
Gana įprasta, kad visi kompiuterio pelės įrenginiai yra ergonomiškai sukurti dešiniarankiams. Tačiau yra pelių prietaisų, specialiai sukurtų kairiaran...
Mėgdžiokite pelės paspaudimus, užveskite pelės žymeklį naudodami pelę „Clickless Mouse“ sistemoje „Windows 10“
Pelės ar klaviatūros naudojimas netinkamoje laikysenoje, kai naudojama per daug, gali sukelti daug sveikatos problemų, įskaitant įtampą, riešo kanalo ...
Pridėkite pelės gestus prie „Windows 10“ naudodami šiuos nemokamus įrankius
Pastaraisiais metais kompiuteriai ir operacinės sistemos labai išsivystė. Buvo laikas, kai vartotojai turėjo naudoti komandas naršydami per failų tvar...