How to remove backslash ("\") in json response using php?

I am trying to add mysql query string in json whit php. I am using this code:

public function lugaresCercanos($lng, $lat, $distance){ $result=mysql_query("SELECT nombre, distancia FROM Lugar ORDER BY distancia ASC"); $info=array(); while($row = mysql_fetch_array($result,MYSQL_ASSOC)){ array_push($info,$row); } return json_encode($info); 

This returns a JSONObject, but I'm not sure.

  class resultado_final { public $logstatus = ""; public $lugares_cercanos = "";} $result_final = new resultado_final(); if($db->login($usuario,$passw)){ $result_final->logstatus = "0";}else{ $result_final->logstatus = "1";} $result_final->lugares_cercanos = $lista; echo json_encode($result_final); 

This code will print this:

 {"logstatus":"1","lugares_cercanos":"[{\"nombre\":\"Rio Amazonas\",\"distancia\":\"5119.000\"},{\"nombre\":\"Swissotel \",\"distancia\":\"5823.000\"},{\"nombre\":\"Laguna de Yaguarcocha\",\"distancia\":\"71797.000\"}]"} 

why are query strings separated by backslashes? how to remove backslash? Thank you very much!

+3
source share
4 answers

\ to avoid quotation marks ("), which are part of the answer.

Use stripslashes() to remove them.

When a quoted string contains quotation marks, they must be escaped. The control character in php is \ .

+12
source

Try

 json_encode($arr, JSON_UNESCAPED_SLASHES); 

or

 echo str_replace('\/','/',json_encode($mydatas)); 

(if unescape does not work) http://php.net/manual/en/function.json-encode.php

+11
source

Stop double coding of data. Put everything together in one big structure, and then code only that.

+5
source

Thanks, I allow.

 $info=array(); while($row = mysql_fetch_array($result,MYSQL_ASSOC)){ array_push($info,$row); } $info; $result_final->lugares_cercanos = $info; 

Print this:

 {"logstatus":"1","lugares_cercanos":[{"nombre":"Rio Amazonas","distancia":"5119.000"}{"nombre":"Swissotel Quito","distancia":"5823.000"}{"nombre":"Laguna de Yaguarcocha","distancia":"71797.000"}]} 
0
source

All Articles