如何在 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 循环的主要内容,如果未能解决你的问题,请参考以下文章