如何在laravel中解码Json对象并在laravel中应用foreach循环

时间:2015-03-16 06:40:29

标签: php json laravel

我收到了这个请求。

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

我希望通过根据上述请求在数据库中搜索记录来提供响应。我将如何解码json数组并分别使用每个区域字段。

2 个答案:

答案 0 :(得分:25)

你的字符串不是一个有效的json开头。

有效的json将是,

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

如果你做json_decode,它会产生,

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

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

        )

)

更新以使用

$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,则返回的对象将转换为关联数组。有关详细信息,请click here

答案 1 :(得分:5)

您可以使用json_decode功能

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

请参阅此fiddle