PHP代码为json字符串添加额外的字符

时间:2017-04-16 09:34:32

标签: php json string

所以我试图将一个jsont字符串从我的MacOS应用程序发布到我的服务器,而不是服务器在电子邮件中将该字符串发送给我。 php代码如下所示:

<?php
$postVar = $_POST['data'];

if (!empty($postVar)) {
$to      = '<myemailaddress>';
$subject = 'data recieved';
$message = $postVar;
$headers = 'From: <someemailaddresshere>' . "\r\n" .
    'Reply-To: webmaster@example.com' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

mail($to, $subject, $message, $headers);
}
?>

这会收到数据并返回200响应,但发送到服务器的字符串与电子邮件中发送的字符串不匹配。

字符串到服务器的示例:

{
  "µTorrent" : {
    "isActive" : false
  },
  "Bear" : {
    "isActive" : false
  },
  "Terminal" : {
    "isActive" : false
  }
}

电子邮件中收到的字符串示例:

{
  \"µTorrent\" : {
    \"isActive\" : false
  },
  \"Bear\" : {
    \"isActive\" : false
  },
  \"Terminal\" : {
    \"isActive\" : false
  }
}

那些反斜杠不应该存在,可能导致这个问题?

1 个答案:

答案 0 :(得分:0)

出于安全原因添加了反斜杠。 如果您只想删除反斜杠,可以使用stripslashes。

$message = stripslashes($postVar);

但我建议创建一个数组数组并返回数组的json_encode