Bu yazıda, PHP Diziyi JSON’a Dönüştürmeyi Göreceğiz. JSON’un günlük kullanımı, bir web sunucusundan veri okumak ve verileri bir web sayfasında görüntülemek içindir. Tarayıcı ile bir sunucu arasında veri alışverişinde bulunurken, veriler yalnızca metin biçiminde olabilir. JSON, metin formatıdır ve herhangi bir JavaScript nesnesini JSON formatına dönüştürebilir ve bu JSON’u bir sunucuya gönderebiliriz. Sunucudan alınan herhangi bir JSON’u JavaScript nesnelerine de dönüştürebiliriz.
PHP Dizisini JSON’a Dönüştürme
PHP, JSON’u işlemek için yerleşik işlevlere sahiptir. PHP’deki Nesneler ve Diziler, json_encode()
işlevini kullanarak JSON’a dönüştürülebilir. PHP json_encode()
işlevi, burada sayısal olarak dizine alınmış bir diziyle gösterdiğimiz gibi kendisine iletilen değerin JSON eşdeğerini içeren bir dize döndürür.
1 2 3 4 5 6 7 8 9 10 11 | <?php // uygulama.php $isimler = ['Ahmet', 'Salfinaz', 'Temel', 'Nurten']; $isimJSON = json_encode($isimler); echo $isimJSON."\n"; |
Sayısal olarak dizine alınmış bir PHP dizisi bir JSON dizisindeki değişmez diziye çevrilir. JSON_FORCE_OBJECT
seçeneği, dizinin nesne olarak çıkmasını istiyorsanız kullanılabilir.
1 2 3 4 5 6 7 8 9 10 11 | <?php // uygulama.php $isimler = ['Ahmet', 'Salfinaz', 'Temel', 'Nurten']; $isimJSON = json_encode($isimler, JSON_FORCE_OBJECT); echo $isimJSON."\n"; |
PHP İlişkisel Diziyi JSON’a Dönüştürme
anahtar-değer çifti dizisini json’a dönüştürme örneğini ele alalım.
1 2 3 4 5 6 7 8 9 10 11 | <?php // uygulama.php $data = ['isim' => 'Hayri', 'egitim' => 'SDU']; $JSONData = json_encode($data); print_r($JSONData); |
json_encode()
işlevi başarı durumunda JSON kodlu bir dize veya başarısızlık durumunda FALSE döndürür.
Bazı seçenekleri gösteren bir json_encode() örneği
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | <?php // uygulama.php echo "<pre>"; $a = array('<foo>',"'bar'",'"baz"','&blong&', "\xc3\xa9"); echo "Normal: ", json_encode($a); echo "Tags: ", json_encode($a, JSON_HEX_TAG); echo "Apos: ", json_encode($a, JSON_HEX_APOS); echo "Quot: ", json_encode($a, JSON_HEX_QUOT); echo "Amp: ", json_encode($a, JSON_HEX_AMP); echo "Unicode: ", json_encode($a, JSON_UNESCAPED_UNICODE); echo "All: ", json_encode($a, JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_QUOT | JSON_HEX_AMP | JSON_UNESCAPED_UNICODE); $b = array(); echo "Boş diziyi dizi olarak çıkarma: ", json_encode($b); echo "Boş diziyi nesne olarak çıkarma: ", json_encode($b, JSON_FORCE_OBJECT); $c = array(array(1,2,3)); echo "İlişkisel olmayan diziyi çkarma: ", json_encode($c); echo "İlişkisel olmayan diziyi nesne olarak çıkarma: ", json_encode($c, JSON_FORCE_OBJECT); $d = array('foo' => 'bar', 'baz' => 'long'); echo "İlişkisel diziyi çıkarma: ", json_encode($d); echo "İlişkilsel diziyi nesne olarak çıkarma: ", json_encode($d, JSON_FORCE_OBJECT); |
json_encode()
işlevine bir seçenekeleri parametresini geçtik. Yukarıdaki çevirmeler ile özel karakterleri, HTML etiketlerini, tırnak işaretlerini JSON formatına nasıl çevrildiğini gördük.Daha fazla PHP örnekleri ve işlevleri için sitedeki diğer yazılara okumanızı tavsiye ederim.
1 Yorum