JSON (JavaScript Object Notation) adalah format pertukaran data yang
ringan, mudah dibaca dan ditulis oleh manusia, serta mudah diterjemahkan
dan dibuat (generate) oleh komputer. Format ini dibuat berdasarkan
bagian dari Bahasa Pemprograman JavaScript, Standar ECMA-262 Edisi ke-3 -
Desember 1999. JSON merupakan format teks yang tidak bergantung pada
bahasa pemprograman apapun karena menggunakan gaya bahasa yang umum
digunakan oleh programmer keluarga C termasuk C, C++, C#, Java,
JavaScript, Perl, Python dll. Oleh karena sifat-sifat tersebut,
menjadikan JSON ideal sebagai bahasa pertukaran-data. Keterangan Lebih
lanjut bias di baca di : http://www.json.org/json-id.html
Contoh JSON :
Create JSON
Kali ini kita akan membuat JSON dari Hasil Query. Selanjut nya kita buat dulu table nya,
sebagai contoh :
Contoh Data :
Selanjut nya buat file baru dengan nama “creat_json.php” kemudian buat code PHP untuk menampilkan data dari database :
Read dan Parsing JSON
Untuk membaca/mendapatkan data dari File (create_json.php) yang sudah kita buat tadi kita akan menggunakan fungsi cURL, apa itu cURL? temen-temen bisa membaca tulisan penulis sebelum nya di http://phpindonesia.net/artikel/grabbing-content-website-menggunakan-curl.
Buat File baru berinama “parsing_json.php” berikut Code nya :
Screen shoot hasil Akhir dari Code di atas :
Untuk sentuhan terakhir kita akan mempercantik dengan CSS.
Contoh JSON :
{"posts":[ { "headline":"The Headline for post 1", "body":"Lorem ipsum dolor sit amet consectetur adipiscing elit.", "posted_on":"Feb 11, 2013", "posted_by":"username" }, { "headline":"The Headline for post 2", "body":"Lorem ipsum dolor sit amet consectetur adipiscing elit.", "posted_on":"Feb 12, 2013", "posted_by":"anotheruser" } ]}
Create JSON
Kali ini kita akan membuat JSON dari Hasil Query. Selanjut nya kita buat dulu table nya,
sebagai contoh :
CREATE TABLE `artikel` ( `id` int(11) NOT NULL AUTO_INCREMENT, `headline` varchar(100) DEFAULT NULL, `body` text, `postdate` int(11), PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=latin1;
Contoh Data :
INSERT INTO artikel(id,headline,body,postdate) VALUES('1','The Headline for post 1','Lorem ipsum dolor sit posting 1','1351570931'); INSERT INTO artikel(id,headline,body,postdate) VALUES('2','The Headline for post 2','Lorem ipsum dolor sit posting 2','1351570931'); INSERT INTO artikel(id,headline,body,postdate) VALUES('3','The Headline for post 3','Lorem ipsum dolor sit posting 3','1351570931');
Selanjut nya buat file baru dengan nama “creat_json.php” kemudian buat code PHP untuk menampilkan data dari database :
<?php //Koneksi mysql_connect("localhost", "root", "") or die(mysql_error()); mysql_select_db("test") or die(mysql_error()); //Create JSON $Q = mysql_query("SELECT * FROM artikel")or die(mysql_error()); if($Q){ $posts = array(); if(mysql_num_rows($Q)) { while($post = mysql_fetch_assoc($Q)){ $posts[] = $post; } } echo json_encode(array('artikel'=>$posts)); } ?>Data akan di tampilkan dalam bentuk array associative dan untuk menjadikan Format JSON kita menggunakan Fungsi json_encode() .
- Objek JSON terdapat diantara tanda { dan }
- Array JavaScript terdapat diantara tanda [ dan ]
{"artikel":[ { "id":"1", "headline":"The Headli", "body":"Lorem ipsum dolor sit posting1", "postdate":"1351570931" }, { "id":"2", "headline":"The Headli", "body":"Lorem ipsum dolor sit posting2", "postdate":"1351570931"}, { "id":"3", "headline":"The Headli", "body":"Lorem ipsum dolor sit posting 3", "postdate":"1351570931" } ] }
Read dan Parsing JSON
Untuk membaca/mendapatkan data dari File (create_json.php) yang sudah kita buat tadi kita akan menggunakan fungsi cURL, apa itu cURL? temen-temen bisa membaca tulisan penulis sebelum nya di http://phpindonesia.net/artikel/grabbing-content-website-menggunakan-curl.
Buat File baru berinama “parsing_json.php” berikut Code nya :
<?php //jSON URL which should be requested $json_url = 'http://localhost/folderProjecAnda/create_json.php'; $ch = curl_init( $json_url ); $options = array( CURLOPT_RETURNTRANSFER => true, CURLOPT_HTTPHEADER => array('Content-type: application/json') , CURLOPT_POSTFIELDS => $json_string ); curl_setopt_array( $ch, $options ); // Setting curl options echo $result = curl_exec($ch); // Getting jSON result string ?>Selanjut nya kita akan Meng-convert JSON tadi menjadi sebuah variabel PHP dengan fungsi json_decode().
$decode = json_decode($result, true); print_r($decode);sehingga klo kita prin_r akan berbentuk Array sebagai berikut :
Array ( [artikel] => Array ( [0] => Array ( [id] => 1 [headline] => The Headline 1 [body] => Lorem ipsum dolor sit posting 1 [postdate] => 1351570931 ) ) )Berikut contoh script untuk mem-parsing Array di atas :
echo $decode['artikel'][0]['headline']; //akan menghasilkan The Headline 1 echo $decode['artikel'][0]['body']; //Lorem ipsum dolor sit posting 1Kita bisa meletakkan di dalam perulangan, berikut contoh script nya :
foreach($decode['artikel'] as $row){ echo "<div id='content'>"; echo "<p id='judul'>".$row['headline'] ."</p>"; echo "<p id='isi'>".$row['body'] ."</p>"; echo "<p id='tanggal'>".$row['postdate'] ."</p>"; echo "<div>"; }Code Lengkap untuk file “parsing_json.php” sebagai Berikut :
<?php //JSON URL which should be requested $json_url = 'http://localhost/cobacoba/JSON/create_json.php'; $ch = curl_init( $json_url ); $options = array( CURLOPT_RETURNTRANSFER => true, CURLOPT_HTTPHEADER => array('Content-type: application/json') , CURLOPT_POSTFIELDS => $json_string ); curl_setopt_array( $ch, $options ); //Setting curl options $result = curl_exec($ch); //Getting jSON result string $decode = json_decode($result, true); foreach($decode['artikel'] as $row){ echo "<div id='content'>"; echo "<p id='judul'>".$row['headline'] ."</p>"; echo "<p id='isi'>".$row['body'] ."</p>"; echo "<p id='tanggal'>".$row['postdate'] ."</p>"; echo "<div>"; } ?>
Screen shoot hasil Akhir dari Code di atas :
Untuk sentuhan terakhir kita akan mempercantik dengan CSS.
<style> h3{ margin: 0; font-family: inherit; font-weight: bold; color: #009ad9; text-rendering: optimizelegibility; } .tanggal { color: #999999; margin:0; font-size:11px; padding: 0 0 0 15px; margin: 0 0 10px; border-left: 5px solid #eeeeee; } #isi{ border-bottom:1px solid #009ad9; margin-top:5px; padding-bottom:5px; } </style>
Tidak ada komentar:
Posting Komentar