我正在使用PHP向Twitter的API提交JSON查询(使用POST方法),并将地理位置坐标作为标准之一,以便获取地理定位数据。从返回的JSON结果中,我将特定值存储为变量以传递给MySQL(首先转换为字符串)。我已成功获得JSON结果,并且可以在浏览器中查看纬度/经度数据,但无法成功获取/存储它们。以下代码适用于抓取所有其他字段(text,created_at等)。任何帮助,将不胜感激。
这是我正在解码JSON结果/为每个字段分配变量/将变量发送到MySQL的代码部分。
$data = mysql_real_escape_string($tweet->{'status'}->{'geo'});
答案 0 :(得分:0)
Twitter API doco注意到geo
字段已被弃用,因此您希望从现在开始查看coordinates
字段。
此字段是可选的,因此它可能为null。但是,由于您在位置上进行过滤,因此不太可能。如果它存在,你应该得到这样的东西:
var_dump($tweet->coordinates);
// Output:
object(stdClass)[5]
public 'type' => string 'Point' (length=5)
public 'coordinates' =>
array
0 => float -99.98741865
1 => float 21.9250252
如果没有,你只会获得null
。要获得推文的纬度/经度,您应该可以:
if ($tweet->coordinates != null) {
$long = $tweet->coordinates->coordinates[0];
$lat = $tweet->coordinates->coordinates[1];
}