Php json“解码返回”;空";用于WordPress中的POST数据

Php json“解码返回”;空";用于WordPress中的POST数据,php,ajax,wordpress,Php,Ajax,Wordpress,我尝试将JSON.stringify数组绑定到服务器,如下所示: JavaScript: jQuery.ajax({ type: 'post', url: ajax_url, data: { 'settings' : JSON.stringify([...]), 'action' : [...] }, traditional: true, success:function(data) { al

我尝试将
JSON.stringify
数组绑定到服务器,如下所示:

JavaScript:

jQuery.ajax({
    type: 'post',
    url: ajax_url, 
    data: {
       'settings' : JSON.stringify([...]),
       'action'   : [...]
       },
    traditional: true,
    success:function(data) {
        alert("SUCCESS");
    }, 
    error: function(errorThrown){
       console.log(errorThrown); 
   } 
});
但是当我在PHP中尝试
json\u encode
时,它返回
NULL

PHP

$param = json_decode($test, true);
var_dump($param); //it retuns NULL
JSON.stringify
数组显示如下:

{\"uid\":{\"@cdata\":\"6\"},\"board_name\":{\"@cdata\":\"test\"},\"skin\":{\"@cdata\":\"default\"},\"use_comment\":{\"@cdata\":\"\"},\"use_editor\":{\"@cdata\":\"\"},\"created\":{\"@cdata\":\"20160307182421\"}}

我做错了什么?

有一次,PHP决定在GET和POST参数中避开引号,以保护不知情的开发人员免受SQL注入漏洞的侵害。他们称之为巫术

当PHP在他们的方式中看到错误时,他们决定删除此功能,但WordPress除外

WordPress接受了早期版本的神奇引用,并依赖于它提供的半纵火安全性。直到今天,他们还在继续添加引号,因此您必须明确地删除它们

TL;博士: 在WordPress中,使用:


爱你的措辞,哈哈!一个小时的困惑和对任何我能想到的事情的胡思乱想,最终我得到了这个答案,结束了我的悲伤非常感谢。
$test = stripslashes($_POST['settings']);
json_decode($test, true);