php - 如何防止 PHP 从 json 字符串中删除花括号?
问题描述
我有一个使用 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
解决方案
尝试更换
$request->getBody(true)
和
$request->getBody()->getContents()
我不知道 Drupal 是否以某种方式包装了 Guzzle,但开箱即用的 Guzzle 不会修改响应。所以你应该没问题,只需->getContents()
在身体上使用或将其转换为(string)
.
推荐阅读
- vue.js - Vue 3 - 数字 0 增加 (++) 在模板中不是 1 而是 101,为什么?
- python-3.x - 班级列表 - 我将如何重复输入的学生数量?
- winapi - WaitOnAddress / WakeByAddressAll / WakeByAddresSingle 如何工作
- reactjs - 如何在渲染执行后使用计时器更新 UI
- python - 使用需要登录的 Beautiful Soup 抓取网站
- c - ARM NEON 数组类型有什么好处(除了方便)吗?
- ssh - 在 ipv6 上获取 `ssh client_loop: send disconnect: Broken pipe`
- android - 为什么在使用 kotlinx.android.parcel.Parcelize 时会收到“未实现抽象成员”警告?
- php - ImageMagick 支持的格式数量:0
- python - 如何在字符串中随机大写字符?