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

Posted

技术标签:

【中文标题】如何在 laravel 中解码 Json 对象并在 laravel 中应用 foreach 循环【英文标题】:How to Decode Json object in laravel and apply foreach loop on that in laravel 【发布时间】:2015-05-18 05:13:54 【问题描述】:

我收到了这个请求。

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

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

【问题讨论】:

请在上面发布您的作品。 你的 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 时,返回的对象将被转换为关联数组。欲了解更多信息,click here

【讨论】:

我不知道如何在变量中获取该 json 数组。我正在将该区域数组从邮递员休息客户端发送到 webservice。我不知道如何在变量中获取该数组并使用它. 你能告诉我什么是 ($string,true) 如果那个 json $string 数组在不同的视图中,那么如何在 laravel 中将它引入控制器的特定功能。【参考方案2】:

你可以使用json_decode函数

foreach (json_decode($response) as $area)

 print_r($area); // this is your area from json response

看到这个fiddle

【讨论】:

但是面积数组将如何进入json $response。我正在使用 Postman REST 客户端进行 Web 服务,并且只有从那里我得到数组区域。但我不知道如何在我的代码中访问它。 我试过了,但它给了我未定义的变量:响应错误 您是否使用curl 在您的 php 代码中从 Web 服务获取数据? @ParagBhingre 发布您正在尝试的内容 如果 json $string 数组在不同的视图中,那么如何在 laravel 中将其引入控制器的特定功能。您的建议是正确的。但是我的 $json 来自网络服务,所以我不知道如何将 $json 带入控制器的特定功能中。在核心 php 中它运行良好

以上是关于如何在 laravel 中解码 Json 对象并在 laravel 中应用 foreach 循环的主要内容,如果未能解决你的问题,请参考以下文章

Laravel - 从 JSON 数组创建对象以将其保存在 SQL 数据库中

如何在关系表laravel 5.8中解码Json数据

如何在laravel刀片中从json解码中回显键名和键值

在 laravel 中验证 base64 解码图像

如何在 laravel join 中解码

Laravel Vue SPA:如何从 Laravel 正确检索 json 对象并将其打印出来?