Paano basahin at mai-print ang medyo JSON sa PHP

How Read Print Pretty Json With Php



Ang JSON ay isang tanyag na format ng imbakan ng data upang makipagpalitan ng data sa pagitan ng server at browser. Ito ay nagmula sa JavaScript at suportado ng maraming karaniwang mga wika sa pagprograma. Ito ay isang nababasa ng tao na format ng file na madaling maunawaan ng sinuman kung ito ay naglilimbag nang may wastong pag-format. Ang pag-print ng data ng JSON sa isang solong linya kapag walang inilapat na pag-format. Ngunit ang ganitong uri ng output ay hindi mas madaling maunawaan. Kaya, ang naka-format na data ng JSON ay napakahalaga upang maunawaan ang istraktura ng data para sa mambabasa. Ginagamit ang magandang print upang mai-format ang data ng JSON. Ang data ng JSON ay maaaring kinatawan sa isang mas nababasa na form para sa mga tao sa pamamagitan ng paggamit ng magandang pag-print. Maraming paraan upang mag-apply ng magandang pag-print sa data ng JSON. Kung paano mo mailalapat ang JSON medyo pag-print gamit ang PHP ay ipinapakita sa tutorial na ito sa pamamagitan ng paggamit ng iba't ibang mga halimbawa.

Halimbawa-1: I-print ang JSON nang walang pag-format

json_encode () Ang pagpapaandar ng PHP ay ginagamit upang mai-parse ang anumang data ng JSON. Lumikha ng isang file na pinangalanan exp1.php kasama ang sumusunod na code upang mabasa ang isang simpleng data ng JSON at mai-print ang output. Dito, ipinahayag ang isang nauugnay na array upang makabuo ng data ng JSON. Walang inilapat na pag-format para sa data ng JSON sa code. Kaya, ang data ng JSON ay mai-print sa isang solong linya sa format na JSON.







exp1.php



<? php

//Ipahayag ang array
$ kurso= array('Modyul-1'=>'HTML','Modyul-2'=>'JavaScript','Modyul-3'=>'CSS3',
'Modyul-4'=>'PHP');

//I-print ang arraysaisang simpleng format na JSON
itinaponjson_encode($ kurso);
?>

Output:



Ang sumusunod na output ay lilitaw pagkatapos ipatupad ang file mula sa browser.





http: //localhost/json/exp1.php



Halimbawa-2: I-print ang JSON gamit ang opsyon na JSON_PRETTY_PRINT at paggana ng header ()

Ang PHP ay may pagpipilian na pinangalanan ‘JSON_PRETTY_PRINT’ na ginagamit sa json_encode () pagpapaandar upang mai-print ang data ng JSON na may tamang pagkakahanay at partikular na format. Lumikha ng isang file na pinangalanan exp2.php kasama ang sumusunod na code. Sa code, ang parehong array ng nakaraang halimbawa ay ginagamit upang makita ang paggamit JSON_PRETTY_PRINT pagpipilian header () Ginagamit ang pagpapaandar dito upang ipaalam sa browser ang tungkol sa nilalaman ng file. Walang ilalagay na pag-format nang wala ang pagpapaandar na ito.

exp2.php

<? php
//Ipahayag ang array
$ kurso= array('Modyul-1'=>'HTML','Modyul-2'=>'JavaScript','Modyul-3'=>'CSS3',
'Modyul-4'=>'PHP');

//Abisuhan ang browser tungkol sauringfilegamit ang headerpagpapaandar
header('Uri ng nilalaman: teksto / javascript');

//I-print ang arraysaisang simpleng format na JSON
itinaponjson_encode($ kurso, JSON_PRETTY_PRINT);
?>

Output:

Ang sumusunod na output ay lilitaw pagkatapos ipatupad ang file mula sa browser. Ang isang tukoy na font at pagkakahanay ay ilalapat.

http: //localhost/json/exp2.php

Halimbawa-3: I-print ang JSON gamit ang opsyon na JSON_PRETTY_PRINT at
 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 '
'
;
}
?>

Output:

Ang sumusunod na output ay lilitaw pagkatapos ipatupad ang file mula sa browser. Dito, ang bawat tanong at sagot ng data ng JSON ay mai-print kasama bughaw kulay at matapang format at, isa pang bahagi ay mai-print sa neto kulay.

http: //localhost/json/exp4.php

Konklusyon

Paano mo mai-print ang nai-format na data ng JSON sa pamamagitan ng paggamit ng iba't ibang mga pagpipilian sa PHP ay sinubukan na ipakita sa artikulong ito. Sana, mailapat ng mambabasa ang PHP upang mai-format ang data ng JSON at makabuo ng magandang output ng JSON pagkatapos ng pagsasanay nang maayos sa mga halimbawa sa itaas.