Nasıl çalışır
PHP, yapılandırılmış veriyi listeleri ve anahtar-değer haritalarını birleştiren dizilerle temsil eder. JSON, bu veriyi sistemler arasında değiş tokuş etmek için evrensel biçimdir. Bu araç iki yönde de dönüştürür: PHP dizisinden JSON'a ve JSON'dan PHP dizisine.
PHP'de json_encode ve json_decode'un yaptığına eşdeğerdir, ancak kod yazmadan veya çalıştırmadan: diziyi ya da JSON'u yapıştırır veya bir dosya yüklersiniz ve sonucu diğer biçimde alırsınız.
Kısa köşeli parantez biçimi ve => operatörü dahil PHP dizi söz dizimini tanır ve kopyalanmaya hazır çıktı üretir. Tüm işlem tarayıcınızda gerçekleşir.
Örnekler
['name' => 'Ada', 'age' => 36]{ "name": "Ada", "age": 36 }PHP dizisinden JSON'a: => operatörü : ayırıcısına, tek tırnaklar çift tırnaklara dönüşür.{ "items": [1, 2, 3] }['items' => [1, 2, 3]]JSON'dan PHP dizisine: diziler indeksli dizilere eşlenir.Kullanım senaryoları
- Bir PHP yapılandırma dizisini, frontend'de veya bir API'de kullanmak için JSON'a dönüştürmek.
- Bir hizmetin JSON yanıtını, kodunuza yapıştırmaya hazır bir PHP dizisine dönüştürmek.
- Bir günlükten gelen bir PHP dizisini, okuması ve doğrulaması daha kolay olan JSON'a dönüştürerek incelemek.
Sık sorulan sorular
Bir PHP ilişkisel dizisi nasıl dönüştürülür?
Metin anahtarlı bir dizi ('name' => 'Ada') bir JSON nesnesine dönüşür. 0'dan başlayan ardışık sayısal anahtarlara sahip bir dizi ise bir JSON dizisine dönüşür.
Ardışık olmayan indislere sahip bir dizide ne olur?
PHP'de sayısal indisleri boşluklu olan bir dizi bir JSON dizisine denk düşmez, bu yüzden sayısal anahtarları dize olan bir nesne olarak temsil edilir. json_encode ile aynı davranıştır.
Köşeli parantezlerin yanı sıra eski array() söz dizimini kabul eder mi?
Önerilen biçim, PHP 5.4'ten beri standart olan köşeli parantezli [ ] kısa biçimdir. Doğru bir dönüşüm için diziyi bu söz dizimiyle yazın.
Anahtarların sırasını korur mu?
Evet. Hem PHP dizileri hem de JSON nesneleri, anahtarların yazıldığı sırayı korur ve dönüşüm buna uyar.