Cum se citește și se tipărește JSON cu PHP

How Read Print Pretty Json With Php



JSON este un format popular de stocare a datelor pentru a face schimb de date între server și browser. Este derivat din JavaScript și acceptat de multe limbaje de programare standard. Este un format de fișier lizibil de către om, care este ușor de înțeles de oricine dacă imprimă cu formatare adecvată. Datele JSON se imprimă într-o singură linie atunci când nu se aplică nici o formatare. Dar acest tip de ieșire nu este atât de ușor de înțeles. Deci, datele JSON formatate sunt foarte importante pentru a înțelege structura datelor pentru cititor. Imprimarea frumoasă este utilizată pentru formatarea datelor JSON. Datele JSON pot fi reprezentate într-o formă mai lizibilă pentru oameni, utilizând tipărirea destul de bună. Există multe modalități de a aplica o imprimare destul de bună în datele JSON. Modul în care puteți aplica tipărirea destul de JSON folosind PHP este prezentat în acest tutorial folosind diverse exemple.

Exemplu-1: Imprimați JSON fără formatare

json_encode () funcția PHP este utilizată pentru a analiza orice date JSON. Creați un fișier numit exp1.php cu următorul cod pentru a citi date JSON simple și a imprima ieșirea. Aici, o matrice asociativă este declarată pentru a genera date JSON. Nu se aplică formatare pentru datele JSON din cod. Deci, datele JSON vor fi tipărite într-o singură linie în format JSON.







exp1.php



<? php

//Declarați matricea
$ cursuri= matrice('Modulul 1'=>„HTML”,„Modulul 2”=>„JavaScript”,„Modulul 3”=>„CSS3”,
„Modulul 4”=>„PHP”);

//Imprimați matriceaînun format JSON simplu
aruncatjson_encode($ cursuri);
?>

Ieșire:



Următoarea ieșire va apărea după executarea fișierului din browser.





http: //localhost/json/exp1.php



Exemplu-2: Imprimați JSON utilizând opțiunea JSON_PRETTY_PRINT și funcția header ()

PHP are o opțiune numită „JSON_PRETTY_PRINT” care se folosește cu json_encode () funcție pentru a imprima date JSON cu aliniere adecvată și format special. Creați un fișier numit exp2.php cu următorul cod. În cod, aceeași matrice a exemplului anterior este utilizată pentru a vedea utilizarea JSON_PRETTY_PRINT opțiune. antet() funcția este utilizată aici pentru a informa browserul despre conținutul fișierului. Nici o formatare nu va fi aplicată fără această funcție.

exp2.php

<? php
//Declarați matricea
$ cursuri= matrice('Modulul 1'=>„HTML”,„Modulul 2”=>„JavaScript”,„Modulul 3”=>„CSS3”,
„Modulul 4”=>„PHP”);

//Notificați browserul despretipdinfişierfolosind antetulfuncţie
antet(„Tipul conținutului: text / javascript”);

//Imprimați matriceaînun format JSON simplu
aruncatjson_encode($ cursuri, JSON_PRETTY_PRINT);
?>

Ieșire:

Următoarea ieșire va apărea după executarea fișierului din browser. Se va aplica un font și o aliniere specifică.

http: //localhost/json/exp2.php

Exemplu-3: Imprimați JSON utilizând opțiunea JSON_PRETTY_PRINT și
 tag  

The formatting that is applied in the previous example can be done by using ‘ pre ’ tag in place of header() function. Create a file named exp3.php with the following code. In this example, starting the ‘pre’ tag is used before generating JSON data. The output will be similar to the previous example.

exp3.php

<?php
$data_arr = array('Robin Nixon' => 'Learning PHP, MySQL and JavaScript ',
'Jon Duckett' => 'HTML & CSS: Design and Build Web Sites', 'Rob Foster' =>
'CodeIgniter 2 Cookbook');
?>
<pre>
<?php
echo json_encode($data_arr, JSON_PRETTY_PRINT);
?>
pre>

Output:

The following output will appear after executing the file from the browser.

http://localhost/json/exp3.php

Example-4: Colorful JSON printing using the custom function

Formatted JSON data are printed by using JSON_PRETTY_PRINT option of PHP in the previous examples. But if you want to print JSON data with the custom format then it is better to use the user-defined function of PHP. How you can apply CSS in JSON data using PHP is mainly shown in this example. Create a PHP file named exp4.php with the following code. A large JSON data is used in this example that is stored in the variable, $data . A user-defined function, pretty_print() is used in the code to format the JSON data. This function has an argument that used to pass the JSON data. A for loop is used in the function to parse the JSON data and apply differently typed of formatting before printing the data.

exp4.php

<?php
//Define a large json data
$data = '{'quiz bank':{ 'Computer': {'q1': { 'question': 'who is the inventor of
computer?','options': ['Thomas Alva Edison','Charles Babbage','Blaise Pascal',
'Philo Farnsworth'],'answer': 'Charles Babbage'},{'q2': { 'question':
'which of the following is a input device?', 'options': ['Printer','Scanner',
'Monitor', 'Keyboard'],'answer': 'Keyboard'}},'PHP': { 'q1': { 'question':
'What type of language is PHP?','options': ['High Level Language','Low level
Language','Scripting Language','Assembly Language'],'answer': 'Scripting Language' },
'q2': {'question': 'What is the full form of PHP?','options': ['Hypertext Preprocessor',
'Personal Home Package','Hypertext Processor','Perdonal HTML Page' ],'answer':
'Hypertext Preprocessor'} } } }'
;

//call custom function for formatting json data
echo pretty_print($data);

//Declare the custom function for formatting
function pretty_print($json_data)
{

//Initialize variable for adding space
$space = 0;
$flag = false;

//Using <pre> tag to format alignment and font
echo '
';  

//loop for iterating the full json data
for($counter=0; $counter<strlen($json_data); $counter++)
{

//Checking ending second and third brackets
if ( $json_data[$counter] == '}' || $json_data[$counter] == ']' )
{
$space--;
echo ' ';
echo str_repeat(' ', ($space*2));
}


//Checking for double quote() and comma (,)
if ( $json_data[$counter] == ''' && ($json_data[$counter-1] == ',' ||
$json_data[$counter-2] == ',') )
{
echo ' ';
echo str_repeat(' ', ($space*2));
}
if ( $json_data[$counter] == ''' && !$flag )
$json_data[$counter-2] == ':' )

//Add formatting for question and answer
echo '';
else

//Add formatting for answer options
echo '';

echo $json_data[$counter];
//Checking conditions for adding closing span tag
if ( $json_data[$counter] == ''' && $flag )
echo ''
;
if ( $json_data[$counter] == ''' )
$flag = !$flag;

//Checking starting second and third brackets
if ( $json_data[$counter] == '{' || $json_data[$counter] == '[' )
{
$space++;
echo ' ';
echo str_repeat(' ', ($space*2));
}
}
echo '
'
;
}
?>

Ieșire:

Următoarea ieșire va apărea după executarea fișierului din browser. Aici, fiecare întrebare și răspuns al datelor JSON vor fi tipărite cu albastru culoare și îndrăzneţ format și o altă parte va fi tipărită cu net culoare.

http: //localhost/json/exp4.php

Concluzie

Cum puteți imprima date JSON formatate utilizând diferite opțiuni PHP sunt încercate să arate în acest articol. Sperăm că cititorul va putea aplica PHP pentru formatarea datelor JSON și pentru a genera o ieșire JSON destulă după ce a practicat corect exemplele de mai sus.