PHP代码将额外的字符添加到JSON字符串
所以我试图从我的MacOS应用程序发送一个jsont字符串到我的服务器,并且比服务器发送给我一个电子邮件中的字符串。 PHP代码如下所示:PHP代码将额外的字符添加到JSON字符串
<?php
$postVar = $_POST['data'];
if (!empty($postVar)) {
$to = '<myemailaddress>';
$subject = 'data recieved';
$message = $postVar;
$headers = 'From: <someemailaddresshere>' . "\r\n" .
'Reply-To: [email protected]' . "\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
}
}
的反斜线不应该在那里,什么可能导致这个问题?
出于安全原因添加了反斜杠。 如果你只是想删除反斜杠,你可以使用反斜杠。
$message = stripslashes($postVar);
但我建议来创建数据的数组,你的数组
好吧,所以这个问题解决了问题,因为内置的jsonserialization有一个看起来就像魔术引号的缺陷,所以问题与swift代码有关。 – user6879072
我对swift不太了解,但是我发现了一个关于json反序列化的例子:https://www.raywenderlich.com/150322/swift-json-tutorial-2 希望它能帮助你 – wilfleaji
请检查返回json_encode可能您已经应用了'json_encode($ your_post_array)'不止一次。 –
你使用哪个PHP版本?可能会有一些老的( mochalygin