我对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中,我仍然得到NULL。
我唯一注意到的是,在Postman中,当我查看原始正文内容时,我在JSON的开头看到一些空行(比如键入时在键盘上返回),但我检查了JSON,因为它在JSONLint上是有效的。
你知道问题出在哪里吗?
发布于 2017-04-26 20:35:19
我不熟悉Drupal的JSON序列化程序,但请尝试将响应正文对话强制为字符串。
$response = Json::decode($request->getBody()->getContents());从getBody()返回一个流对象,这可能是问题所在。
https://stackoverflow.com/questions/43609318
复制相似问题