如何使用PHP删除json响应中的反斜杠("\")?

use*_*012 6 php mysql json

我尝试在JSON whit php中添加一行mysql查询.我用这个代码:

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);
Run Code Online (Sandbox Code Playgroud)

这会返回一个JSONObject,但我不确定.

    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);
Run Code Online (Sandbox Code Playgroud)

这段代码打印出来:

{"logstatus":"1","lugares_cercanos":"[{\"nombre\":\"Rio Amazonas\",\"distancia\":\"5119.000\"},{\"nombre\":\"Swissotel \",\"distancia\":\"5823.000\"},{\"nombre\":\"Laguna de Yaguarcocha\",\"distancia\":\"71797.000\"}]"}
Run Code Online (Sandbox Code Playgroud)

为什么查询的行由反斜杠分隔?怎么删除反斜杠?非常感谢!

小智 13

\是要转义作为响应一部分的引号(").

使用stripslashes()剥离出来这些.

当用引号括起的字符串包含引号时,必须对它们进行转义.php中的转义字符是\.

  • 您的解决方案解决了我的问 谢谢你,先生. (2认同)

sk8*_* ツ 12

尝试

json_encode($arr, JSON_UNESCAPED_SLASHES);
Run Code Online (Sandbox Code Playgroud)

要么

echo str_replace('\/','/',json_encode($mydatas));
Run Code Online (Sandbox Code Playgroud)

(如果unescape不起作用) http://php.net/manual/en/function.json-encode.php


Ign*_*ams 6

停止对数据进行双重编码.将所有内容放在一个大型结构中,然后仅对其进行编码.