Guzzle 6:不再有用于响应的 json() 方法

2022-08-30 06:26:51

之前在 Guzzle 5.3 中:

$response = $client->get('http://httpbin.org/get');
$array = $response->json(); // Yoohoo
var_dump($array[0]['origin']);

我可以很容易地从JSON响应中获取PHP数组。现在在Guzzle 6中,我不知道该怎么做。似乎不再有方法了。我(快速)从最新版本阅读文档,但没有找到有关JSON响应的任何内容。我想我错过了一些东西,也许有一个我不理解的新概念(或者也许我没有正确阅读)。json()

这是(下面)新的方式是唯一的方法吗?

$response = $client->get('http://httpbin.org/get');
$array = json_decode($response->getBody()->getContents(), true); // :'(
var_dump($array[0]['origin']);

还是有帮手或类似的东西?


答案 1

我现在使用而不是.json_decode($response->getBody())$response->json()

我怀疑这可能是PSR-7合规性的受害者。


答案 2

您切换到:

json_decode($response->getBody(), true)

而不是其他注释,如果您希望它像以前一样工作,以便获得数组而不是对象。


推荐