Php Symfony:通过json对象迭代到数组

Php Symfony:通过json对象迭代到数组,php,arrays,json,symfony,Php,Arrays,Json,Symfony,如何遍历每个Json对象参数 我接收Json对象作为输入。如何将此对象转换为数组或遍历每个参数 例如: { "firstName": "Jane", "lastName": "Dow", "aboutMe": "Web developer" } 在控制器中,是否可以执行以下操作: //$requestData - decoded json content foreach ($requestData->data as $param){ //do smth w

如何遍历每个Json对象参数

我接收Json对象作为输入。如何将此对象转换为数组或遍历每个参数

例如:

 {
  "firstName": "Jane",
  "lastName": "Dow",
  "aboutMe": "Web developer"
 }
在控制器中,是否可以执行以下操作:

//$requestData - decoded json content
foreach ($requestData->data as $param){
        //do smth with each param
}
在控制器中,我无法将json文件解码为数组,因为我已经接收到json对象作为输入。

您可以使用将json字符串解码为数组或对象。像这样,

$json_string="{  "firstName": "Jane",  "lastName": "Dow",  "aboutMe": "Web developer" }";
$json_array=json_decode($json_string,true);
$json_array
将是一个数组,您可以像在PHP array中一样对其进行迭代

json_decode()接受第二个参数作为布尔值,默认情况下为
false
。如果为true,则返回一个数组 否则它将返回对象

参考:


您可以像这样迭代PHP对象

foreach ($requestData as $key => $value) {
    echo $key." =>";
    var_dump($value);
}

这就是诀窍,我不是接收Json文件作为输入,而是接收解码的Json对象。所以我无法将文件解码为arrayDo变量中有JSON字符串吗?没有,只有JSON对象。可以将其编码回json字符串并解码为数组吗?如果它是json对象,您可以像数组一样直接迭代它。查看我的更新答案。是否要迭代属性?所以firstname是数组的第一个元素,lastname是第二个元素,等等?将它转换到数组可能会起作用,比如
$array=(array)$requestData->data