Ver Mensaje Individual
  #6 (permalink)  
Antiguo 02/05/2010, 19:44
Nacho_astur
 
Fecha de Ingreso: abril-2009
Mensajes: 80
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: echo me añade " " al final del string

***No se que paso que se me corto medio mensaje, aqui va todo****



El tema es que el codigo son mas de 500 lineas, pero la parte importante es la siguiente:

Yo creo un obejto JSON tal que:


Código PHP:
$respuesta='{"Nombre":"las dos setas","numero de votos":23,"valoraciones":{"staff":10,"position":10 ,"fun_factor":10,"atmospher":10,"value":10,"facili ties":10,"cleanliness":10}}'
lo devuelo al cliente mediante un


Código PHP:
echo $respuesta
El cliente esta esperando con una sesion CURL:


Código PHP:
$ch curl_init();
$tipo="JSON";
curl_setopt($chCURLOPT_TIMEOUT10);
curl_setopt($chCURLOPT_URL$url);
curl_setopt($chCURLOPT_RETURNTRANSFERtrue);
curl_setopt($chCURLOPT_HTTPHEADER, array ('Accept: '.$tipo));

$respuesta curl_exec($ch); 
Y cuando se pone a decodificar el JSON con

Código PHP:
$respuesta=json_decode($respuesta);
Pues no sale nada, y eso es debido a que la sesion CURL me introduce un espacio en blanco despues del string, eso lo comprobe al hacer un echo+terminadores tal que:


Código PHP:
echo "------------".trim($respuesta)."-----------------"
y aun asi por el navegador me sale:

------------{"Nombre":"las dos setas","numero de votos":23,"valoraciones":{"staff":10,"position":10 ,"fun_factor":10,"atmospher":10,"value":10,"fac ili ties":10,"cleanliness":10}} -----------------

Donde si os fijais sigue habiendo un hueco en blanco [ 10}} --- ]

Las conclusiones que saco es que la sesion CURL introduce ese maldito espacio al transimitir el objeto y cuando llega al cliente es como si fuera parte del objeto y no soy quien a eliminarlo.


Lo que mas me mosquea es que en el servicio web tengo otros 2 servicios mas, que hacen la misma tarea, componer el objeto JSON y enviarlo a traves de un echo al mismo cliente, y en ninguno de los dos primero me da problemas la sesion curl :S

La verdad es que es un poco raro, os ha pasado a alguno una cosa parecida?? o se os ocurre que tipo de funciones pueden estar incorporando un espacio en blanco adicional??

saludos a todos