Home » » Create JSON dan Parsing JSON dengan PHP

Create JSON dan Parsing JSON dengan PHP

Written By Unknown on Senin, 10 Juni 2013 | 23.43

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 :
{"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 ]
Penampakan dari code di atas akan tampak seperti ini :
{"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 dihttp://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 1
Kita bisa meletakkan di dalam perulangan, berikut contoh script nya :
foreach($decode['artikel'] as $row){
       echo "
"
; echo "
"
.$row['headline'] ."
"; echo "
"
.$row['body'] .""; echo "
"
.$row['postdate'] .""; echo "
"
; }
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 "
"
; echo "
"
.$row['headline'] ."
"; echo "
"
.$row['body'] .""; echo "
"
.$row['postdate'] .""; echo "
"
; } ?>

Screen shoot hasil Akhir dari Code di atas :


Untuk sentuhan terakhir kita akan mempercantik dengan CSS.

Penampakan Terakhir
Share this article :
 
Support : support@masterfreelance.com | +62 - 857 - 1061 - 2210 | 327E8DA0
Copyright © 2013. MasterFreelance Blog - All Rights Reserved
Jl. Satria 5 No 27 - 28
Bojong Nangka , Kelapa Dua - Tangerang
15821, Banten - Indonesia