有没有办法防止通过表单发送的JSON数据在使用PHP检索时使用斜杠进行转义?
我知道如何删除斜杠,但为什么它甚至会被转义?我能预防吗?如果我通过ajax发布json-data,则不会添加斜杠。
Magic Quotes 不活跃,所以这不是问题。
为了澄清,我的问题不是如何 json_decode 或如何 stripslashes 。我想知道为什么我的json数据在作为textarea发布时会添加斜杠。如果有办法阻止它。
HTML:
<form method="POST">
<textarea name="data">[{"id":85210094,"quantity":1}]</textarea>
<input type="submit" value="POST">
</form>
PHP:
<?php
if($_POST['data']) {
echo '<pre>';
var_dump($_POST['data']); // string(34) "[{\"id\":85210094,\"quantity\":1}]"
var_dump(json_decode($_POST['data'], true)); // NULL
var_dump(json_decode(stripslashes($_POST['data']), true)); // array(1) { [0]=> array(2) { ["id"]=> int(85210094) ["quantity"]=> int(1) } }
echo '</pre>';
}
?>