PHP 警告:jwt 的非法字符串偏移
Posted
技术标签:
【中文标题】PHP 警告:jwt 的非法字符串偏移【英文标题】:PHP Warning: Illegal string offset of jwt 【发布时间】:2021-09-13 18:07:29 【问题描述】:我从 jsonRPC 端点收到以下响应:
"jsonrpc": "2.0",
"result":
"jwt": "EXAMPLE"
当我记录 $response->getRpcResult() 我得到
"jwt": "EXAMPLE"
当我尝试使用 jwt 的值时 $token = $response->getRpcResult()["jwt"]
我收到 php 消息:
感谢任何帮助,我是 PHP 初学者。
【问题讨论】:
它应该可以工作(用您的端点输出测试并为我工作)。也许反应不是真的?您能否分享更多代码或端点本身以验证响应? 您应该检查$response->getRpcResult()
的结果 - 错误消息告诉您结果数组中没有值为 jwt
的键。
我会再检查一次。我会尽快解决的
看起来你得到了 JSON,但仍然需要解码它。
【参考方案1】:
不需要 getRpcResult()。 应该这样做:
$token = $response['jwt'];
dump($token);
【讨论】:
【参考方案2】:我能够使用以下方法解决它:
$token = json_decode(json_encode($response->getRpcResult()), true)["jwt"];
我不知道为什么我需要再次解码。
【讨论】:
以上是关于PHP 警告:jwt 的非法字符串偏移的主要内容,如果未能解决你的问题,请参考以下文章
Drupal 8 警告:非法字符串偏移 'name' DrupalBootstrapStyles.php