我正在使用json将数据从 iOS/Android 发布到我的服务器。
我用这些行处理 Post 数据:
//$json_alert = stripslashes(utf8_decode($_POST["json_alert"]));
$json_alert = $_POST["json_alert"]);
echo $json_alert;
$json = json_decode($json_alert);
$this->id_type = $json->{'alerte'}->{'id_type'};
$this->note = $json->{'alerte'}->{'note'};
$this->coordinate = $json->{'alerte'}->{'location'}->{'lat'} . ";" . $json->{'alerte'}->{'location'}->{'long'};
$this->id_user = $json->{'alerte'}->{'expediteur'}->{'id_user'};
问题是:当我发送带有报价的 json 时,json_decode 不断失败。
但是,当打印 json_alert 格式似乎是正确的。
echo $json_alert;
**** print ****
{
"alerte": {
"note":"It's not \"working\"", //double quote fails in json_decode
"expediteur":{
"id_user":"5"
},
"location":{
"lat":"37.785834",
"long":"-122.406417"
},
"id_type":"3"
}
}
即使我写双引号,解析 json 的解决方案是什么?
编辑:我删除了stripslashes()
但问题仍然存在