基于Twitter API游标的分页(JSON问题)PHP

基于Twitter API游标的分页(JSON问题)PHP,twitter,Twitter,正如您所知,Twitter为一些API方法发布了一个新的基于光标的分页 目前,我在编码json对象时面临一个问题,因为游标本身实际上是一个64位数字,在PHP中不支持json编码 next_cursor 1299072354878293926 有什么解决办法吗?我真不敢相信Twitter为什么不直接返回字符串…嗯 thxphp5.2+应该将64位数字转换为浮点数,这比以前版本的PHP(只将其转换为最大32位值)要好。最好的选择是升级到64位版本的PHP,但升级到PHP5.2+至少可以让您启动并

正如您所知,Twitter为一些API方法发布了一个新的基于光标的分页

目前,我在编码json对象时面临一个问题,因为游标本身实际上是一个64位数字,在PHP中不支持json编码

next_cursor 1299072354878293926
有什么解决办法吗?我真不敢相信Twitter为什么不直接返回字符串…嗯


thx

php5.2+应该将64位数字转换为浮点数,这比以前版本的PHP(只将其转换为最大32位值)要好。最好的选择是升级到64位版本的PHP,但升级到PHP5.2+至少可以让您启动并运行。

PHP5.2+应该将64位数字转换为浮点数,这比以前的PHP版本(只将其转换为最大32位值)要好。最好的办法是升级到64位版本的PHP,但升级到PHP 5.2+至少可以让您启动并运行。

如果您使用的是32位系统,您可以使用regex将光标转换为字符串,然后再使用它进行进一步的请求

下面是我用来实现此目的的PHP函数:

function jsonIntToStr($json){
$pattern = "/\"next_cursor\":([0-9]+),/";
$replace = "\"next_cursor\":\"$1\",";
$new_json = preg_replace($pattern, $replace, $json);
$pattern = "/\"previous_cursor\":([0-9]+),/";
$replace = "\"previous_cursor\":\"$1\",";
$new_json = preg_replace($pattern, $replace, $new_json); 
return $new_json; 
}
你可以像这样使用它:

$json_result = json_decode(jsonIntToStr($twitter_response));

从中获取。

如果您使用的是32位系统,您可以使用正则表达式将光标转换为字符串,然后用于进一步的请求

下面是我用来实现此目的的PHP函数:

function jsonIntToStr($json){
$pattern = "/\"next_cursor\":([0-9]+),/";
$replace = "\"next_cursor\":\"$1\",";
$new_json = preg_replace($pattern, $replace, $json);
$pattern = "/\"previous_cursor\":([0-9]+),/";
$replace = "\"previous_cursor\":\"$1\",";
$new_json = preg_replace($pattern, $replace, $new_json); 
return $new_json; 
}
你可以像这样使用它:

$json_result = json_decode(jsonIntToStr($twitter_response));

从中获得它。

自PHP5.4.0(目前为beta版)以来,可以使用的第四个参数,并将其设置为
JSON\u BIGINT\u AS\u STRING
自PHP5.4.0(目前为beta版)以来,可以使用的第四个参数并将其设置为
JSON\u BIGINT\u AS\u STRING

如果字符串是整数,它们为什么会返回字符串?这不是他们的错,PHP的JSON编码没有正确处理它…确切地说…这就是我想弄明白的…我的意思是…这至少应该对所有人都有效,不是吗。。。如果有更好的方法,而不是黑客的价值?为什么他们会返回一个字符串,如果它是一个整数?这不是他们的错,PHP的JSON编码没有正确处理它…确切地说…这就是我想弄明白的…我的意思是…这至少应该对所有人都有效,不是吗。。。如果有更好的方法,而不是黑客的价值?它确实转换为浮动..但我需要的数字,让我通过数据导航…我使用的PHP 5.2+…转换为64位对我来说似乎是不可能的,虽然它肯定会解决问题…它确实转换为浮动..但我需要的数字,让我通过数据导航…我我使用PHP5.2+…转换为64位对我来说似乎是不可能的,尽管它肯定会解决这个问题。。。