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}
「ストリーム」プロパティにアクセスし、次のコードを試しました:
<?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
。何かアドバイス?
助けてくれてありがとう