我有这样的请求体:
{
"title": "foo",
"colors": [{
"name": "green"
}, {
"name": "red"
},{
"name": "pink"
}]
}
这是一个从POSTMAN发送的示例请求主体。我在PHP后端有一个方法可以获取请求主体。到目前为止,我所拥有的是:
use Symfony\Component\HttpFoundation\Request;
public function test (Request $request)
{
$data = json_decode($request->getContent(), false);
dd($data->title); // foo
}
它只对一个对象有效,但当我尝试$data->colors
时,结果却不同。a:1:{i:0;s:2:"green";i:1;s:2:"red";i:2;s:2:"pink"}
我期望得到的字符串结果如下所示:[{"name": "green"}, ... ]
基本上,我需要的是得到正确的集合字符串。需要帮助吗?
1条答案
按热度按时间bweufnob1#
将
true
作为json_decode()
的第二个参数传递,要求它从输入JSON中找到的对象生成关联数组(而不是PHP对象)。PHP数组比对象更通用,处理起来也更容易。输出为:
看它online。
如果您需要将
colors
属性的值作为JSON,则只需使用json_encode($data['colors'])
将其编码为JSON即可。