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

更新后的Wordpress“非法字符串偏移”

警告:非法字符串偏移量'city'Symfony表单搜索

Laravel 4 - 警告:isset 中的非法偏移类型或 \bootstrap\compiled.php 中为空

如何修复php非法偏移错误[重复]

从api流明获取数据时出现错误的非法字符串偏移[重复]