Json Datasını Php Dizisi veya Nesnesine Dönüştürme

Aşağıdaki JSON örneğinde hobbies alanı dizi türünde, address alanı nesne türündedir.

{
   "name": "Hakan Kurt",
   "age": 40,
   "city": "İstanbul",
   "married": false,
   "hobbies": ["travel", "game", "code"],
   "address": {
       "street": "Kıdem Caddesi", "zip": "10001", "state": "Marmara"
   }
}

Örnek JSON datasını $data = json_decode( $json ) koduyla php dilinde çözümlediğimizde arraylar(dizi) ve objeler(nesne) json datasında belirtildiği gibi php diline çözümlenir.

stdClass Object
(
    [name] => Hakan Kurt
    [age] => 40
    [city] => İstanbul
    [married] => 0
    [hobbies] => Array
        (
            [0] => travel
            [1] => game
            [2] => code
        )

    [address] => stdClass Object
        (
            [street] => Kıdem Caddesi
            [zip] => 10001
            [state] => Marmara
        )

)
//Nesneyi ekrana yazdir
echo "Name: " . $data->name . "<br>";
echo "Age: " . $data->age . "<br>";
echo "City: " . $data->city . "<br>";
echo "Married: " . ($data->married ? 'Yes' : 'No') . "<br>";
echo "Hobbies:<br>";
foreach ($data->hobbies as $hobby) {
    echo "- " . $hobby . "<br>";
}
echo "Address:<br>";
echo "- Street: " . $data->address->street . "<br>";
echo "- Zip: " . $data->address->zip . "<br>";
echo "- State: " . $data->address->state . "<br>";

JSON datasını $data = json_decode( $json, true ) koduyla true parametresi eklenmiş şekilde php diline çözümlediğimizde bütün alanların array(dizi) halinde gelmesini sağlayabiliriz.

Array
(
    [name] => Hakan Kurt
    [age] => 40
    [city] => İstanbul
    [married] => 0
    [hobbies] => Array
        (
            [0] => travel
            [1] => game
            [2] => code
        )

    [address] => Array
        (
            [street] => Kıdem Caddesi
            [zip] => 10001
            [state] => Marmara
        )

)

//Diziyi ekrana yazdir
echo '<pre>' ;   
print_r( $data );
echo '</pre>';

Bir cevap yazın: