如何防止PHP从json字符串中删除大括号?

问题描述 投票:0回答:1

我有一个Drupal控制器方法,使用Guzzle进行发布。当我使用邮递员时,响应是有效的json,但是当控制器返回数据时,它缺少第一个花括号。我做了什么明显错误的事吗?

 public function getproject(Request $request)
{
    $client = \Drupal::httpClient();
    $request = $client->post($this->uri, [
        'json' => [
            'projectOrJobNumber'=> $request->query->get('projectNo'),
            'accessCode' => $request->query->get('accessCode')
        ]
    ]);

    $response = $request->getBody(true);
    \Drupal::logger('my_module')->notice($response);
    return $response;
}

日志显示缺少开口花括号/括号的字符串。有没有一种简单的方法来解决这个问题?

在日志中

Message     @"jobs":[{"Address":"Master Services","Contacts":[{"Jo
php json post drupal-8 guzzle
1个回答
0
投票

尝试更换

$request->getBody(true)

$request->getBody()->getContents()

我不知道Drupal是否会以某种方式包装Guzzle,但开箱即用的Guzzle并未修改响应。所以你应该没问题,只需在身体上使用->getContents()或将其转换为(string)

© www.soinside.com 2019 - 2024. All rights reserved.