在开发后端时我们经常要用到 json_decode 来进行将 json字符串转成PHP的数组对象,但在实际开发中会遇到一些问题值的我们注意
json_decode 的参数数据是由客户端发送来的,这时我们需要用stripslashes进行转义.如果服务器没有开启自动转义的话可以不需要进义
客户端发送来的数据中包含ASCII码不可见字符时, json_decode 会直接调用失败,返回一个空数组
解决方案
$data = @$_POST['data'];
$data = preg_replace('/[\x00-\x1F\x7F-\x9F]/u', '', $data);
print_r(json_decode($data, true));
在后端开发中,使用json_decode处理客户端数据时,需注意ASCII不可见字符导致的失败。文章分享了如何通过正则表达式清除这些字符,确保数据正确解析。
1366

被折叠的 条评论
为什么被折叠?



