我无法让这个php json脚本工作。我正在尝试使用他们的api从twitter获取屏幕名称。
这就是我的所作所为。
$send_request = file_get_contents('https://api.twitter.com/1/users/lookup.json?screen_name=frankmeacey');
$request_contents = json_decode($send_request);
echo $request_contents->screen_name;
为什么每次都返回一个空白值?我试过在这里和那里改变一切,但它只是不起作用......
答案 0 :(得分:1)
因为你得到的数据结构是一个对象数组,而不是一个对象。
echo $request_contents[0]->screen_name;
答案 1 :(得分:0)
该数据看起来是数组中的对象。尝试
echo $request_contents[0]->screen_name;
最好首先检查它是一个数组并从中获取第一个用户:
if (is_array($request_contents)) {
$user_info = $request_contents[0];
}
if (isset($user_info)) {
echo $user_info->screen_name;
}
答案 2 :(得分:0)
这是
$request_contents[0]->screen_name
因为$ request_contents是一个对象数组,而不是对象本身。
做一个
var_dump($request_contents);
查看你的json的结构。
答案 3 :(得分:0)
尝试使用
print_r($request_contents);
OR
var_dump($request_contents);
用于检查数组。
答案 4 :(得分:0)
您的页面不应为空白..您应该收到类似Notice: Trying to get property of non-object in
的错误,因为您拨打的$request_contents->screen_name
无效。
尝试告诉PHP使用
输出所有错误error_reporting(E_ALL);
我也更喜欢CURL
$ch = curl_init("https://api.twitter.com/1/users/lookup.json?screen_name=frankmeacey");
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
curl_close($ch);
$request_contents = json_decode($result);
var_dump($request_contents[0]->screen_name);
输出
string 'frankmeacey' (length=11)