Asıl soruyu cevaplamak için:
PHP, JSON Nesnesini neden bir sınıfa dönüştürür?
Kodlanmış JSON'un çıktısına daha yakından bakın, OP'nin verdiği örneği biraz genişlettim:
$array = array(
'stuff' => 'things',
'things' => array(
'controller', 'playing card', 'newspaper', 'sand paper', 'monitor', 'tree'
)
);
$arrayEncoded = json_encode($array);
echo $arrayEncoded;
//prints - {"stuff":"things","things":["controller","playing card","newspaper","sand paper","monitor","tree"]}
JSON biçimi, JavaScript ( ECMAScript Programlama Dili Standardı ) ile aynı standarttan türetilmiştir ve biçime bakarsanız JavaScript'e benziyor. Bu, "şeyler" değerine sahip "stuff" özelliğine sahip bir JSON nesnesidir ( {}
= nesne ) ve değeri bir dizeler dizisi ( []
= dizi ) olan "şeyler" özelliğine sahiptir .
JSON (JavaScript olarak) ilişkilendirilebilir dizileri yalnızca dizinlenmiş dizileri bilmez. Dolayısıyla, JSON bir PHP ilişkisel dizisini kodlarken, bu, bu diziyi bir "nesne" olarak içeren bir JSON dizesiyle sonuçlanır.
Şimdi tekrar JSON kodunu çözüyoruz json_decode($arrayEncoded)
. Kod çözme işlevi, bu JSON dizesinin (bir PHP dizisi) nereden kaynaklandığını bilmez, bu nedenle PHP'de bulunan bilinmeyen bir nesneye kod çözer stdClass
. Göreceğiniz gibi, "şeyler" dizge dizisi, dizinlenmiş bir PHP dizisinin kodunu çözecektir.
Ayrıca bkz:
Https://www.randomlists.com/things'e 'şeyler' için teşekkürler