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

2022-08-30 21:43:09

我收到此请求。

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

我想根据上述请求通过在数据库中搜索记录来对此做出回应。我将如何解码json数组上方并分别使用每个区域字段。


答案 1

您的字符串不是一个有效的 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 时,返回的对象将转换为关联数组。欲了解更多信息,请单击此处


答案 2

您可以使用函数json_decode

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

看这个小提琴


推荐