我对Json::decode
有疑问。我使用此代码:
use Drupal\Component\Serialization\Json;
$client = \Drupal::httpClient();
$request = $client->post($rest_url, [
'form_params' => [
'id' => $rest_id,
],
]);
$response = Json::decode($request->getBody());
从某个服务器获取JSON,但它返回NULL。当然,这只是代码的一部分(没有try
,catch
...)
$request->getBody()
返回没问题,但在Json::decode
我仍然没有。
我唯一注意到的是,在Postman中,当我查看原始主体内容时,我在JSON的开头看到一些空行(如键入时键盘返回),但我检查了JSON,因为它在{ {3}}并且它有效。
知道这是什么问题吗?
答案 0 :(得分:0)
我不熟悉Drupal的JSON序列化程序,但尝试强制将响应正文对话转换为字符串。
$response = Json::decode($request->getBody()->getContents());
Guzzle从getBody()
返回一个Stream对象,可能是问题。