Forutsetninger:
Eksemplene på denne opplæringen er sjekket for PHP versjon 8+. Så du må installere php 8.0 og en Apache -server før du øver på eksemplene på denne opplæringen.
Eksempel 1: Skriv ut JSON uten formatering
JSON_ENCODE () Funksjon av PHP brukes til å analysere alle JSON -data. Lag en PHP -fil med følgende skript for å lese en enkel JSON -data og skrive ut utdataene. Her er det erklært en assosiativ matrise å generere JSON -dataene. Ingen formatering blir brukt for JSON -data i skriptet.Dermed vil JSON -data bli skrevet ut i en enkelt linje.
// erklære matrisenProduksjon:
Følgende utgang vises etter å ha utført det forrige skriptet fra nettleseren:
Eksempel 2: Skriv ut JSON ved hjelp av JSON_PRETTY_PRINT og header ()
PHP har et alternativ som heter “JSON_PRETY_PRINT” brukt med json_encode () Funksjon for å skrive ut JSON -data med riktig justering og bestemt format. Opprett en PHP -fil med følgende skript. Her, The JSON_PRETTY_PRINT Alternativet har blitt brukt til å skrive ut JSON -dataene. Overskriften () Funksjon brukes her for å informere nettleseren om filinnholdet. Ingen formatering vil bli brukt uten denne funksjonen.
// erklære matrisenProduksjon:
Følgende utdata vises etter å ha utført det forrige skriptet fra nettleseren. En spesifikk font og justering er blitt brukt her:
Eksempel 3: Skriv ut JSON ved hjelp av JSON_PRETTY_PRINT og
stikkordFormateringen som brukes i forrige eksempel kan gjøres ved å bruke "<pre>”Tag i stedet for Overskrift() funksjon. Opprett en PHP -fil med følgende skript. I dette eksemplet start “
$ data_arr = Array ('Robin Nixon' => 'Lære php, MySQL og JavaScript', 'Jon Duckett' => 'HTML & CSS: Design and Build Web Sites', 'Rob Foster' => 'Codeigniter 2 kokebok') ;”Tag brukes før generering av JSON -data.
?>
ekko json_encode ($ data_arr, JSON_PRETTY_PRINT);
?>Produksjon:
Følgende utdata vises etter å ha utført det forrige skriptet fra nettleseren. Utgangen ser ut som det forrige eksemplet, som vist nedenfor.
Eksempel 4: Skriv ut JSON ved hjelp av JSON_PRETTY_PRINT og tilpasset funksjon
Formaterte JSON -data skrives ut ved hjelp av JSON_PRETTY_PRINT Alternativ og Tag i de forrige eksemplene. Men hvis du vil skrive ut JSON-data med det tilpassede formatet, er det bedre å bruke den brukerdefinerte funksjonen til PHP. Dette eksemplet viser hvordan du kan bruke CSS i JSON -data ved hjelp av PHP. Opprett en PHP -fil med følgende skript. En omfattende JSON -data har blitt brukt i dette eksemplet som er lagret i variabelen, $ data. En brukerdefinert funksjon, Pretty_print () har blitt brukt i koden for å formatere JSON -dataene. Denne funksjonen har et argument som har blitt brukt til å passere JSON -dataene. EN til Loop har blitt brukt til å analysere JSON -dataene og bruke formatering før du skriver ut dataene.
// definere en stor JSON -data
$ data = '"quizbank": "datamaskin": "Q1": "Spørsmål": "Hvem er oppfinneren av datamaskinen?"," Alternativer ": [" Thomas Alva Edison "," Charlesbabbage "," Blaise Pascal "," Philo Farnsworth "]," Svar ":" Charles Babbage ", " Q2 ": " Spørsmål ":" som av følgende er en inngangsenhet?"," Alternativer ": [" skriver "," skanner "," skjerm "," tastatur "]," svar ":" tastatur "," php ": " q1 ": " spørsmål ":" hva type språk er PHP?"," Alternativer ": [" High Level Language "," Low Level Language "," ScriptingLanguage "," Assembly Language "]," Svar ":" Scripting Language "," Q2 ": " Spørsmål ":" Hva er den fulle formen for PHP?"," Alternativer ": [" Hypertext PreProcessor "," Personal Home Package "," Hypertext Processor "," Perdonal HTML Page "]," Svar ":" Hypertext Preprocessor " ';
// Ring tilpasset funksjon for formatering av JSON -data
echopretty_print ($ data);
// erklære den tilpassede funksjonen for formatering
funksjonspretty_print ($ json_data)
// Initialiser variabel for å legge til plass
$ plass = 0;
$ flagg = falsk;
//Ved hjelp avTag for å formatere justering og font
ekko"";";
// loop for å iterere hele JSON -dataene
for ($ teller = 0; $ teller
// Kontrollere slutt på andre og tredje parentes
if ($ json_data [$ counter] == '' || $ json_data [$ counter] == ']')
$ plass--;
ekko "\ n";
ECHOSTR_REPEAT (", ($ Space*2));
// Sjekk for dobbelt sitat (“) og komma (,)
if ($ json_data [$ counter] == '"' && ($ json_data [$ counter-1] == ',' || $ json_data [$ counter-2] == ','))
ekko "\ n";
ECHOSTR_REPEAT (", ($ Space*2));
if ($ json_data [$ counter] == '"' && !$ flagg)
if ($ 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];
// Kontroller betingelser for å legge til lukkespenn -taggen
if ($ json_data [$ counter] == '"' && $ flagg)
ekko'';
if ($ json_data [$ counter] == '"')
$ flagg = !$ flagg;
// Sjekk fra andre og tredje parentes
if ($ json_data [$ counter] == '' || $ json_data [$ counter] == '[')
$ Space ++;
ekko "\ n";
ECHOSTR_REPEAT (", ($ Space*2));
ekko"
?>Produksjon:
Følgende utdata vises etter å ha utført det forrige skriptet fra nettleseren. Her er hvert spørsmål og svar på JSON -dataene skrevet ut med blå farge og dristig format, og en annen del er skrevet ut med rød farge:
Eksempel 5: Skriv ut JSON ved hjelp av json_encode () og json_decode ()
Lag en PHP -fil med følgende skript for å kjenne måten å skrive ut JSON -dataene ved å bruke JSON_EnCode () og JSON_DECODE () -funksjonene.
// definere JSON -data i en variabel
$ jsondata = '"11897": "Megha Hossain", "11564": "Abir Hasan", "11234": "Joya Ahmed"';
// kode JSON -verdien
$ decoded_data = json_decode ($ jsondata);
Header ('Content-Type: Text/JavaScript');
// Skriv ut JSON -dataene etter avkode
ekko "Utgangen fra JSON -data: \ n";
ekko json_encode ($ decoded_data, json_resy_print);
?>Produksjon:
Følgende utgang vises etter å ha utført det forrige skriptet fra nettleseren:
Eksempel 6: Skriv ut innholdet i en JSON -fil ved hjelp av JSON_DECODE ()
I de forrige eksemplene er JSON -data blitt erklært i PHP -skriptet. Men innholdet i en JSON -fil kan analyseres ved å bruke PHP -skript. Lag en JSON -fil som heter studenter.JSON med følgende innhold:
studenter.JSON
[
"Id": "0111897",
"Navn": "Walliur Rahman",
"Avdeling": "CSE",
"Batch": "30."
,
"Id": "0111456",
"Navn": "Minhazkazi",
"Avdeling": "CSE",
"Batch": "30."
,
"Id": "0111897",
"Navn": "Akramasouchi",
"Avdeling": "CSE",
"Batch": "30."
]Opprett en PHP -fil med følgende skript for å lese studenter.JSON fil ved å bruke file_get_contents () og json_decode () funksjoner. Neste, The for hver Loop har blitt brukt til å skrive ut JSON -dataene på en formatert måte.
// Les innholdet i en JSON -fil
$ studenter = file_get_contents ('studenter.json ');
// avkode JSON -dataene i en matrise
$ decoded_data = json_decode ($ studenter, true);
ekko "Id navn Departmen Batch
";
// Skriv ut JSON -dataene
foreach ($ decoded_data as $ student)
$ Id = $ student ['id'];
$ name = $ student ['name'];
$ avdeling = $ student ['avdeling'];
$ batch = $ student ['batch'];
ekko "$ id $ navn $ avdeling $ batch
";
?>Produksjon:
Følgende utgang vises etter å ha utført det forrige skriptet fra nettleseren:
Eksempel 7: Lese JSON -fil med tilfeldige nøkkelverdier
Innholdet i JSON-filen kan nås basert på nøkkelverdi og kreves når JSON-filen inneholder tilfeldige taster. Lag en JSON -fil som heter RandomKey.JSON med følgende innhold:
RandomKey.JSON
"7856":
"Navn": "mobil",
"Brand": "Samaung",
"Model": "J4",
"Pris": 500
,
"4320":
"Navn": "Laptop",
"Brand": "HP",
"Model": "Pavilion 15",
"Pris": 1000
,
"9067":
"Navn": "nettbrett",
"Brand": "Asus",
"Model": "CT100Pa",
"Pris": 200
,
"1675":
"Navn": "Desktop",
"Brand": "Dell",
"Model": "Ingen",
"Pris": 700
Opprett en PHP -fil med følgende skript for å lese RandomKey.JSON fil ved å bruke file_get_contents () og json_decode () funksjoner. Neste, The for hver Loop har blitt brukt til å søke i spesiell produktinformasjon basert på søkeverdien gitt i spørringsparameteren.
// Les JSON -filen
$ randomkey = file_get_contents ('randomkey.json ');
// initialiser variabelen
$ funnet = falsk;
// Konverter json -streng til matrisen
$ decoded_json = json_decode ($ randomkey, true);
// Les søkeverdien fra nettadressen
if (isset ($ _ få ['s']))
$ search_product = $ _get ['s'];
ellers
ekko "ingenting å søke";
exit;
// iterere JSON -verdien og søk på merket
foreach ($ decoded_jsonas $ k => $ v)
$ merke = $ decoded_json [$ k] ["merke"];
if ($ merke == $ search_product)
$ name = $ decoded_json [$ k] ["name"];
$ modell = $ decoded_json [$ k] ["modell"];
$ pris = $ dekodet_json [$ k] ["pris"];
$ funnet = sant;
ekko "Produktnavn: $ navn
Merke: $ merkevare
Modell: $ modell
Pris: $ pris ";
// skriv ut melding hvis søkeverdien ikke ble funnet
if ($ funnet == falsk)
ekko "produkt eksisterer ikke.";
?>Produksjon:
Kjør forrige skript uten noen spørringsparameter:
http: // localhost/phpcode/json7.PHP
Kjør forrige skript med en spørringsparameterverdi som finnes i JSON -filen:
http: // localhost/phpcode/json7.PHP?S = HP
Kjør forrige skript med en spørringsparameterverdi som ikke eksisterer i JSON -filen:
http: // localhost/phpcode/json7.PHP?s = del
Konklusjon
De forskjellige måtene å skrive ut formaterte JSON -data ved å bruke forskjellige PHP -skript har blitt diskutert i denne opplæringen. Forhåpentligvis vil PHP -brukerne kunne formatere JSON -data og generere Pretty JSON -utdata ved hjelp av PHP -skript etter å ha øvd på eksemplene som er gitt riktig. Vi håper du fant denne artikkelen nyttig. Sjekk de andre Linux -hint -artiklene for flere tips og informasjon.