【问题标题】:How can I prevent PHP from removing curly brace from json string?如何防止 PHP 从 json 字符串中删除花括号?
【发布时间】:2019-09-12 02:51:49
【问题描述】:

我有一个使用 Guzzle 发布帖子的 Drupal 控制器方法。当我使用邮递员时,响应是有效的 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】:

尝试替换

$request->getBody(true)

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

我不知道 Drupal 是否以某种方式包装了 Guzzle,但开箱即用的 Guzzle 不会修改响应。所以你应该没问题,在body上使用->getContents()或者转换成(string)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-02-16
    • 1970-01-01
    • 1970-01-01
    • 2012-03-16
    • 2015-06-10
    • 1970-01-01
    • 2011-12-24
    相关资源
    最近更新 更多