最近在模仿有道云笔记制作云笔记,用Android做客户端,用基于WordPress的PHP做服务器,在Android上传数据到服务器的时候遇到个问题,在Android短组成的JSON数组字符串是正常的,在传递到服务器的时候就发生了异常就显示下面的样子
,折腾了好久,因为这个是转义符,一开始以为自己哪里又多转义了一次,或者转字符串出问题,发现都不是,查阅资料才发现是PHP防止注入攻击,magic_quotes_gpc这个方法会自动在我们获得的字符串“后面加上反斜杠,这些反斜杠,折腾了我2天,
//去反斜杠加无BOM处理
$dataa=json_decode(stripslashes(trim($_POST["json_array"],chr(239).chr(187).chr(191))),true);
$data=count($dataa);
for($i=0;$i
$android_title = $dataa[$i]['title'];
$android_content = $dataa[$i]['contents'];
$android_time = $dataa[$i]['time'];
echo $android_title;
echo $android_content;
echo $android_time;
}
必须这样才能获得到正常的JSON数组。出现这个问题还有一个原因可能是,里面有很多隐藏的符号,可能在我们添加笔记的时候也会添加图片或者视频,那个时候会往Editext添加Bitmap,而保存的时候并未删干净一并当字符串储存起来了,而你并不能发现也没有空格,只有通过编辑器,或者在Linxs的环境下输入命令才会显示。