1. példa: JSON nyomtatása formázás nélkül
json_encode () A PHP függvény bármely JSON adat elemzésére szolgál. Hozzon létre egy nevű fájlt exp1.php a következő kóddal egy egyszerű JSON-adatok olvasásához és a kimenet kinyomtatásához. Itt egy asszociatív tömböt deklarálunk JSON-adatok előállítására. A kódban szereplő JSON-adatokhoz nincs formázás. Tehát a JSON-adatok egyetlen sorban kerülnek kinyomtatásra JSON-formátumban.
exp1.php
// Deklarálja a tömböt$ courses = array ("1. modul" => "HTML", "2. modul" => "JavaScript", "3. modul" => "CSS3",
"4. modul" => "PHP");
// A tömb nyomtatása egyszerű JSON formátumban
echo json_encode ($ tanfolyamok);
?>
Kimenet:
A következő kimenet jelenik meg, miután végrehajtotta a fájlt a böngészőből.
http: // localhost / json / exp1.php
2. példa: JSON nyomtatása a JSON_PRETTY_PRINT opció és fejléc () függvény használatával
A PHP-nek van egy neve 'JSON_PRETTY_PRINT' amelyet azzal használnak json_encode () funkció a JSON adatok megfelelő igazítással és meghatározott formátumú nyomtatásához. Hozzon létre egy nevű fájlt exp2.php a következő kóddal. A kódban az előző példa ugyanazzal a tömbjével láthatjuk a felhasználást JSON_PRETTY_PRINT választási lehetőség. fejléc() függvény segítségével itt tájékoztathatja a böngészőt a fájl tartalmáról. E funkció nélkül nem lesz formázás.
exp2.php
// Deklarálja a tömböt$ courses = array ("1. modul" => "HTML", "2. modul" => "JavaScript", "3. modul" => "CSS3",
"4. modul" => "PHP");
// Értesítse a böngészőt a fájl típusáról a header függvény használatával
fejléc ('Content-type: text / javascript');
// A tömb nyomtatása egyszerű JSON formátumban
echo json_encode ($ tanfolyamok, JSON_PRETTY_PRINT);
?>
Kimenet:
A következő kimenet jelenik meg, miután végrehajtotta a fájlt a böngészőből. Meghatározott betűtípust és igazítást alkalmazunk.
http: // localhost / json / exp2.php
3. példa: JSON nyomtatása a JSON_PRETTY_PRINT opcióval és címke
Az előző példában alkalmazott formázás a 'elő'címke fejléc() funkció. Hozzon létre egy nevű fájlt exp3.php a következő kóddal. Ebben a példában kezdve az „elő” címkét használják a JSON-adatok előállítása előtt. A kimenet hasonló lesz az előző példához.
exp3.php
$ data_arr = array ('Robin Nixon' => 'PHP, MySQL és JavaScript tanulása','Jon Duckett' => 'HTML és CSS: Webhelyek tervezése és készítése', 'Rob Foster' =>
„CodeIgniter 2 szakácskönyv”);
?>
echo json_encode ($ data_arr, JSON_PRETTY_PRINT);
?>
Kimenet:
A következő kimenet jelenik meg, miután végrehajtotta a fájlt a böngészőből.
http: // localhost / json / exp3.php
4. példa: Színes JSON nyomtatás az egyedi funkció használatával
A formázott JSON adatokat a JSON_PRETTY_PRINT a PHP opciója az előző példákban. De ha JSON adatokat szeretne nyomtatni egyedi formátummal, akkor jobb, ha a felhasználó által definiált PHP funkciót használja. A CSS-t a JSON-adatokban a PHP használatával főleg ebben a példában mutatjuk be. Hozzon létre egy PHP fájlt exp4.php a következő kóddal. Ebben a példában egy nagy JSON-adat kerül felhasználásra, amelyet a változó tárol, $ adatok. A felhasználó által definiált függvény, szép_nyomtatás () a kódban a JSON adatok formázására szolgál. Ennek a függvénynek van egy argumentuma, amely korábban átadta a JSON-adatokat. A mert A ciklust a függvényben használják a JSON-adatok elemzésére, és az adatok nyomtatása előtt másképp írt formázást alkalmaznak.
exp4.php
// Adjon meg egy nagy json adatot$ data = '"kvízbank": "Számítógép": "q1": "kérdés": "ki a feltaláló
számítógép?"," opciók ": [" Thomas Alva Edison "," Charles Babbage "," Blaise Pascal ",
"Philo Farnsworth"], "válasz": "Charles Babbage", "q2": "kérdés":
msgstr "az alábbiak közül melyik a beviteli eszköz?"," options ": [" Nyomtató "," Szkenner ",
"Monitor", "Billentyűzet"], "válasz": "Billentyűzet", "PHP": "q1": "kérdés":
Msgstr "Milyen típusú nyelv a PHP?"," options ": [" Magas szintű nyelv "," Alacsony szint
Nyelv "," Szkriptnyelv "," Összeállítási nyelv "]," válasz ":" Szkriptnyelv ",
"q2": "question": "Mi a PHP teljes formája?"," options ": [" Hypertext Preprocessor ",
"Személyes otthoni csomag", "Hypertext Processor", "Perdonal HTML Oldal"], "válasz":
"Hypertext Preprocessor" ';
// egyedi függvény hívása a json adatok formázásához
echo pretty_print ($ data);
// Deklarálja a formázás egyéni funkcióját
function pretty_print ($ json_data)
// Változó inicializálása a szóköz hozzáadásához
$ szóköz = 0;
$ flag = hamis;
// Használat
címke az igazítás és a betűtípus formázásához
visszhang "";";
// ciklus a teljes json adatok iterálásához
for ($ számláló = 0; $ számláló
// Végződő második és harmadik zárójel ellenőrzése
ha ($ json_data [$ counter] == '' || $ json_data [$ counter] == ']')
$ space--;
visszhang "\ n";
echo str_repeat (", ($ szóköz * 2));
// dupla idézet (“) és vessző (,) ellenőrzése
if ($ json_data [$ counter] == '"' && ($ json_data [$ counter-1] == ',' ||
$ json_data [$ counter-2] == ','))
visszhang "\ n";
echo str_repeat (", ($ szóköz * 2));
ha ($ json_data [$ számláló] == '"' && !$ flag)
if ($ json_data [$ counter-1] == ':' || $ json_data [$ counter-2] == ':')
// Formázás hozzáadása a kérdéshez és a válaszhoz
visszhang";
más
// Formázás hozzáadása a válaszopciókhoz
visszhang";
echo $ json_data [$ számláló];
// A záró span címke hozzáadásának feltételeinek ellenőrzése
if ($ json_data [$ counter] == '"' && $ zászló)
visszhang";
if ($ json_data [$ számláló] == "" ")
$ flag = !$ zászló;
// A kezdő második és harmadik zárójel ellenőrzése
ha ($ json_data [$ counter] == '' || '$ json_data [$ counter] ==' [')
$ szóköz ++;
visszhang "\ n";
echo str_repeat (", ($ szóköz * 2));
visszhang "
?>Kimenet:
A következő kimenet jelenik meg, miután végrehajtotta a fájlt a böngészőből. Itt a JSON adatok minden kérdését és válaszát kinyomtatják kék szín és bátor formátumban, és egy másik részt kinyomtatunk piros szín.
http: // localhost / json / exp4.php
Következtetés
Ebben a cikkben megpróbáljuk bemutatni, hogyan nyomtathat formázott JSON-adatokat a különféle PHP-opciók használatával. Remélem, az olvasó a fenti példák megfelelő gyakorlása után képes lesz felhasználni a PHP-t a JSON-adatok formázására és szép JSON-kimenetek létrehozására.