Как я могу запретить PHP удалять фигурные скобки из строки json? - PullRequest
0 голосов
/ 23 апреля 2019

У меня есть метод контроллера 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

1 Ответ

0 голосов
/ 24 апреля 2019

Попробуйте заменить

$request->getBody(true)

с

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

Я не знаю, оборачивает ли Drupal Guzzle так или иначе, но из коробки Guzzle не изменяет ответ. Так что у вас все будет хорошо, просто используйте ->getContents() на теле или конвертируйте его в (string).

...