gpt4 book ai didi

php - json_decode() 返回错误 "Notice: Trying to get property of non-object"

转载 作者:可可西里 更新时间:2023-11-01 13:50:06 26 4
gpt4 key购买 nike

我正在尝试编写一个脚本,使用 cURL 从远程位置(在本例中为 twitch.tv)获取 JSON 文件(不要认为这部分太相关,尽管我最好还是提一下)。出于示例目的,假设它返回的 JSON 对象在存储在变量中后看起来像这样:

$json_object = {"_links":{"self":"https://api.twitch.tv/kraken/streams/gmansoliver","channel":"https://api.twitch.tv/kraken/channels/gmansoliver"},"stream":null}

我访问“stream”属性,我尝试了以下代码:

<?php
$json_object = {"_links":{"self":"https://api.twitch.tv/kraken/streams/gmansoliver","channel":"https://api.twitch.tv/kraken/channels/gmansoliver"},"stream":null}

$json_decoded = json_decode($json_object, true);
echo $json_decoded->stream;
?>

当我尝试这个时,我收到错误“注意:尝试在第 48 行获取 D:\Servers\IIS\Sites\mysite\getstream.php 中的非对象属性”。

我使用的 json_decode() 是错误的,还是我从 twitch 发送的 JSON 对象有问题?

编辑:

我现在有了 JSON 对象:

{"access_token": "qwerty1235","refresh_token": "asdfghjkl=","scope": ["user_read"]}

如果我尝试使用 json_decode() 解码它,我会收到以下错误:Object of class stdClass could not be converted to string。有什么建议吗?

在此先感谢您的帮助

最佳答案

您正在将 JSON 解码为数组。 json_decode($json_object, true);将返回一个数组

array (size=2)
'_links' =>
array (size=2)
'self' => string 'https://api.twitch.tv/kraken/streams/gmansoliver' (length=48)
'channel' => string 'https://api.twitch.tv/kraken/channels/gmansoliver' (length=49)
'stream' => null

如果去掉第二个参数,运行为json_decode($json_object)

object(stdClass)[1]
public '_links' =>
object(stdClass)[2]
public 'self' => string 'https://api.twitch.tv/kraken/streams/gmansoliver' (length=48)
public 'channel' => string 'https://api.twitch.tv/kraken/channels/gmansoliver' (length=49)
public 'stream' => null

See the documentation , 当为 TRUE 时,返回的对象将被转换为关联数组。

关于php - json_decode() 返回错误 "Notice: Trying to get property of non-object",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25195010/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com