Cara membaca dan mencetak JSON cantik dengan PHP

How Read Print Pretty Json With Php



JSON adalah format penyimpanan data yang popular untuk menukar data antara pelayan dan penyemak imbas. Ia berasal dari JavaScript dan disokong oleh banyak bahasa pengaturcaraan standard. Ini adalah format fail yang dapat dibaca manusia yang mudah difahami oleh sesiapa sahaja jika mencetak dengan format yang betul. Data JSON dicetak dalam satu baris apabila pemformatan tidak digunakan. Tetapi jenis output ini tidak begitu mudah difahami. Jadi, data JSON yang diformat sangat penting untuk memahami struktur data untuk pembaca. Cetakan cantik digunakan untuk memformat data JSON. Data JSON dapat ditunjukkan dalam bentuk yang lebih mudah dibaca oleh manusia dengan menggunakan percetakan yang cantik. Terdapat banyak cara untuk menerapkan percetakan cantik dalam data JSON. Bagaimana anda boleh menggunakan pencetakan cantik JSON menggunakan PHP ditunjukkan dalam tutorial ini dengan menggunakan pelbagai contoh.

Contoh-1: Cetak JSON tanpa pemformatan

json_encode () fungsi PHP digunakan untuk menguraikan sebarang data JSON. Buat fail bernama exp1.php dengan kod berikut untuk membaca data JSON ringkas dan mencetak outputnya. Di sini, array asosiatif dinyatakan untuk menghasilkan data JSON. Tidak ada pemformatan yang diterapkan untuk data JSON dalam kod tersebut. Jadi, data JSON akan dicetak dalam satu baris dalam format JSON.







exp1.php



<? php

//Menyatakan tatasusunan
kursus $= tatasusunan('Modul-1'=>'HTML','Modul-2'=>'JavaScript','Modul-3'=>'CSS3',
'Modul-4'=>'PHP');

//Cetak susunandalamformat JSON ringkas
membuangjson_encode(kursus $);
?>

Pengeluaran:



Output berikut akan muncul setelah menjalankan fail dari penyemak imbas.





http: //localhost/json/exp1.php



Contoh-2: Cetak JSON menggunakan fungsi JSON_PRETTY_PRINT dan fungsi tajuk ()

PHP mempunyai pilihan bernama ‘JSON_PRETTY_PRINT’ yang digunakan dengan json_encode () berfungsi untuk mencetak data JSON dengan penjajaran yang betul dan format tertentu. Buat fail bernama exp2.php dengan kod berikut. Dalam kod, susunan contoh sebelumnya yang sama digunakan untuk melihat penggunaannya JSON_PRETTY_PRINT pilihan. kepala() fungsi digunakan di sini untuk memberitahu penyemak imbas mengenai kandungan fail. Tidak ada format yang akan digunakan tanpa fungsi ini.

exp2.php

<? php
//Menyatakan tatasusunan
kursus $= tatasusunan('Modul-1'=>'HTML','Modul-2'=>'JavaScript','Modul-3'=>'CSS3',
'Modul-4'=>'PHP');

//Beritahu penyemak imbas mengenaimenaipdaripadafailmenggunakan pengepalafungsi
kepala('Jenis kandungan: teks / javascript');

//Cetak susunandalamformat JSON ringkas
membuangjson_encode(kursus $, JSON_PRETTY_PRINT);
?>

Pengeluaran:

Output berikut akan muncul setelah menjalankan fail dari penyemak imbas. Fon dan penjajaran tertentu akan digunakan.

http: //localhost/json/exp2.php

Contoh-3: Cetak JSON menggunakan pilihan JSON_PRETTY_PRINT dan
 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 '
'
;
}
?>

Pengeluaran:

Output berikut akan muncul setelah menjalankan fail dari penyemak imbas. Di sini, setiap soalan dan jawapan data JSON akan dicetak dengan biru warna dan berani format dan, bahagian lain akan dicetak dengan bersih warna.

http: //localhost/json/exp4.php

Kesimpulannya

Bagaimana anda dapat mencetak data JSON berformat dengan menggunakan pelbagai pilihan PHP yang cuba ditunjukkan dalam artikel ini. Harap, pembaca dapat mengaplikasikan PHP untuk memformat data JSON dan menghasilkan output JSON yang cantik setelah mengamalkan contoh di atas dengan betul.