web-dev-qa-db-ja.com

laravelでJsonオブジェクトをデコードし、laravelでforeachループを適用する方法

私はこのリクエストを受け取っています。

 { "area": [
        {
            "area": "kothrud"
        },
        {
            "area": "katraj"
        }
    ]
}

上記のリクエストに基づいてデータベース内のレコードを検索することにより、これに対する応答を提供したいと思います。上記のJSON配列をデコードし、各領域フィールドを個別に使用する方法。

15
Parag Bhingre

あなたの文字列は有効なjsonではありません。

有効なjsonは、

{
    "area": [
        {
            "area": "kothrud"
        },
        {
            "area": "katraj"
        }
    ]
}

json_decode、それは得られます、

stdClass Object
(
    [area] => Array
        (
            [0] => stdClass Object
                (
                    [area] => kothrud
                )

            [1] => stdClass Object
                (
                    [area] => katraj
                )

        )

)

Update:使用する

$string = '

{
    "area": [
        {
            "area": "kothrud"
        },
        {
            "area": "katraj"
        }
    ]
}

';
            $area = json_decode($string, true);

            foreach($area['area'] as $i => $v)
            {
                echo $v['area'].'<br/>';
            }

出力:

kothrud
katraj

更新#2:

そのtrue

TRUEの場合、返されたオブジェクトは連想配列に変換されます。詳細については、 ここをクリックしてください

26
itachi

json_decode関数を使用できます

foreach (json_decode($response) as $area)
{
 print_r($area); // this is your area from json response
}

こちらをご覧ください fiddle

6
Kamran