Sihirli Fasulyeler
Yükleniyor...
PHP ile JSON Oluşturma (Standart ve Veri Tabanı Dönüşümleri)
 Web-Tasarım   6804   29.03.19   29.03.19   0
phpjson.jpg

Daha önceki web tasarım makalelerinde JSON formatının öneminden ve geniş kullanım alanından bahsetmiştim. JSON o kadar popüler bir veri değişim formatı haline geldi ki hemen hemen bütün programlara dilleri JSON oluşturmak ve JSON'larda yer alan bilgileri kolayca alabilmek için gerekli fonksiyonları kütüphanelerine ekledi. Bu dillerden biri de PHP'dir. PHP'de direkt JSON oluşturabileceğiniz bir fonksiyon vardır.

 

JSON formatı hakkında detaylı bilgi almak isterseniz burayı tıklayınız.

 

PHP' den JSON oluşturmak için ilk olarak verilerimizi bir dizi haline getirmeliyiz. Daha sonra dizimizi "json_encode" komutu ile json formatına kolaylıkla dönüştürebiliriz.

 

Standart Dönüşüm

 
$bilgiler = array("isim" =>"Ahmet", "soyisim" => "Benli", "meslek" => "Memur", "yas" => 45);

echo json_encode($dizi);
 

Yukaridaki PHP kodlarında "bilgiler" isminde bir dizi tanımladık. Bu dizide yer alan isim, soyisim, meslek ve yas degiskenlerini de tanımlayarak bu değişkenlere değerler atadık. Oluşturduğumuz diziyi "json_encode" komutu ile kolayca json formatına dönüştürdük. Elde ettiğimiz JSON dosyasının içeriği aşağıdaki gibi olacaktır.

 
{"isim":"Ahmet","soyisim":"Benli","meslek":"Memur","yas":45}
 

Veri Tabanından Dönüşüm

 

Eğer verilerimizi veritabanımızdan alıp JSON formatına dönüştürmek istiyorsak şu aşamaları yapmamız gerekiyor:

 

1 - Veri Tabanı Bağlantısı

 
$kullanici = 'root'; 
$sifre = '';
	try {
	    $db = new PDO('mysql:host=localhost;dbname=veri_tabani_adi;charset=utf8',$kullanici,$sifre);
	} catch (PDOException $e) {
	    print "Hata!: " . $e->getMessage();
	    die();
	}
 

2 - Veritabanından Bilgileri Alma ve JSON Dosyasını Kaydetme

 

Veritabanımızın ilk örneğimizde olduğu gibi isim, soyisim, meslek ve yas sütunlarından oluştuğunu düşünerek işlemlerimizi yapalım. Örneğimizde ne kadar verimiz varsa hepsini alacağız. Siz dilerseniz SQL aşamasına ekleyeceğiniz parametreler ile filtreme işlemleri de yapabilirsiniz.

 
$q = "SELECT * FROM table_adi";
$sql = $db->prepare($q);
$sql->execute();
if ($sql->rowCount()!=0){
	$bilgiler=array();
	$data=array();
	foreach ($sql as $key) {
		$data["isim"]=$key["isim"];
		$data["soyisim"]=$key["soyisim"];
		$data["meslek"]=$key["meslek"];
		$data["yas"]=$key["yas"];
		array_push($bilgiler, $data);
	}
	file_put_contents("dosya.json", json_encode($bilgiler));
}
 

Bu kodlamada bilgiler ve data isimli 2 dizi oluşturduk. Veritabanımızdan gelen bilgileri bir döngü ile data dizisine ekledik. Her döngüde bu dizideki elemanları bilgiler isimli diziye array_push komutu ile ekledik. Sonuçta da bilgiler adlı dizideki bütün verileri json formatına dönüştürdük, ismine dosya.json dedik ve bu dosyayı file_put_contents ile kaydettik.

 

Aşağıda ilk örneğimizin uygulamasını görebilirsiniz.

 

 

 Konuyu geliştirmemize yardımcı ol, konuyu değerlendir.
%50
%25
%25

 

 Bu konuyu paylaş

 

 Yorum yaz, soru sor, geliştirme öner
E-Posta adresiniz yayınlanmayacak.

 

 İlk Yorumu Sen Yap