【发布时间】:2016-07-29 07:41:41
【问题描述】:
我怎样才能json_decode() 得到file_get_contents 的结果?
这是我的代码。
$resp = file_get_contents('https://auth.login.yahoo.co.jp/yconnect/v1/token', false, $context);
echo "check1 <br />";
var_dump($resp);
$json = json_decode($resp);
echo "check2 <br />";
var_dump($json);
echo $json['access_token'];
结果在这里
检查1
串(744) “{” ACCESS_TOKEN “:” j9MqiEM.lKjepCGMFdKufPw1UBK_gAlG6qFxvMxHJwbopXfo9LpLUyT1z.YxwFBSydvVSMOqzVI4fX_ZVLVROlNf7ARr08s2tkFMb5_TNq.wp1MmoQm3wJaqF9gxpeQbEz4GYuGJSbDKJTw8LA_XoBNcEbL0ZDeozFEgYxII8gqi_Nfi7UhM5bd7gqV6Sp17rCECQAauZj_jJa6jyADS3me3UYxIKJB2tCJpRM.xCzVhjRWEZPqNiUI5NikXRANrSiTyn_6Z72u2ptW3vnK918TqpPBAdj.P1O5uJAZgKEmLMZLSBEIWIEOUPTJaSvI3qxxk1ItXI_5sZDAQuw.86R3eaSIolGHqWTvpLk3WqnqBvtk6w6qIVcZgJrTFxnjx_x1ijJhKACcnY.jYp6kpxMihe8hOrTEyVj4Swhmq4RUWDhAfIQDNNju5dJCqW82QyYNCQdf0IMW7uIRSvHK1FmTGrEWMv4tpojLtJEf5vnKaDbrxZ0.AB9OSRwhzMkUYkgbiEVCwqyxCy_oEQBB0uVuAL8fOYidPrqv8m.A29j7S9d3Cb7DFh7pQJJGkLzljcC4VkEZADLiPnq_aLZuy0ehb_aTLBoHZ0IUL “ ”token_type“: ”承载“, ”expires_in“: ”3600“,” refresh_token ":"ABrQBFdlHzed4sc.aHygqG0faENua5L865UMVglio2hkbIJAnbY-"}"
'check1' 存在,令牌值是 var_dump($resp); 的结果,但 'check2' 不起作用。
所以我认为$json = json_decode($resp); 失败了。
如何解码?
谢谢。
【问题讨论】:
-
您是否收到错误消息?或者你不能访问
$json['access_token'],那么你必须添加true才能得到一个数组而不是一个对象$json = json_decode($resp, true); -
应该是
$json->access_token -
@PhillipBartschinski 你好,没有任何错误信息。只是结果。
-
@aldrin27 嗯.. 我在哪里
$json->access_token?在echo 'check2';之后? -
是的。就在解码数据的下方。