followers - twitter api lookup json
PaginaciĆ³n basada en cursor de API de Twitter(problema JSON) PHP (3)
como saben, Twitter ha publicado una nueva paginación basada en cursor para algunos métodos API.
Actualmente, estoy enfrentando un problema al codificar el objeto json porque el cursor en sí es en realidad un número de 64 bits y no es compatible con la codificación json en PHP.
next_cursor 1299072354878293926
¿Alguna solución para esto? No puedo creer por qué Twitter no devolvió la cadena por ello ... hmmp
Gracias
Desde PHP 5.4.0 (actualmente en beta), es posible usar el cuarto parámetro de json_encode y establecerlo en JSON_BIGINT_AS_STRING
.
PHP 5.2+ debería convertir números de 64 bits en flotantes, lo cual es mejor que las versiones anteriores de PHP (que simplemente lo convertiría al valor máximo de 32 bits). La mejor opción es pasar a una versión de 64 bits de PHP, pero la actualización a PHP 5.2 o superior lo pondrá en marcha.
Si está atascado con el sistema de 32 bits, puede convertir el cursor en una cadena utilizando expresiones regulares y luego usarlo para otras solicitudes.
Aquí está la función de PHP que estoy usando para lograr esto:
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;
}
y podrías usarlo como:
$json_result = json_decode(jsonIntToStr($twitter_response));
Lo obtuve de twitter development talk google group .