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

我收到了这个请求。

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

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

【问题讨论】:

  • 请在上面发布您的作品。
  • 你的 json 无效

标签: php json laravel


【解决方案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 中它运行良好
猜你喜欢
  • 2016-06-27
  • 2018-09-07
  • 1970-01-01
  • 2014-06-11
  • 1970-01-01
  • 2016-09-08
  • 2017-08-20
  • 2022-12-20
  • 1970-01-01
相关资源
最近更新 更多