Php 为什么json.stringify之后的json中为空?

Php 为什么json.stringify之后的json中为空?,php,jquery,json,Php,Jquery,Json,PHP5.4FastCGI jquery1.10 Jquery代码: $.ajax({ type: "POST", url: "", dataType: "json", data: { json: JSON.stringify({test: 'teste'}) } }).done(function(msg) { var msg = $.parseJSON(msg);

PHP5.4FastCGI jquery1.10

Jquery代码:

$.ajax({
          type: "POST",
          url: "",
          dataType: "json",
          data: { json: JSON.stringify({test: 'teste'}) }
        }).done(function(msg) {
              var msg = $.parseJSON(msg);
              alert(msg);
        });
PHP代码:

$json = $_POST['json'];
$info = json_decode($json, true);
var_dump($info);
结果:

array(1) {
  ["test"]=>
  string(5) "teste"
}
null
我不知道为什么会出现此null以及如何删除它。因为如果我尝试使用:

$i = info['test'];
echo $i;
我将收到:
testenull

似乎您的JSON数据就是问题所在

PHP中的
json\u decode()
将json编码的字符串作为输入,并将其转换为PHP变量

它是这样工作的

<?php
$json = '{"test": 12345}';
$obj = json_decode($json);
print $obj->{'test'}; // 12345
?>


无需将
字符串化
,您已经将
数据类型:'json'
数据类型:'json'设置为您希望从服务器接收的内容。问题不在于对jquery的响应,而在于json中的空值。只需尝试
数据:{test:'teste}
然后在PHP中访问,如
$test=$\u POST['test']
。jQuery将序列化您的数据。您确定“null”不是来自其他地方吗?它出现在数组外部的
var\u dump($info)
@koala\u dev,谢谢,是的,空值来自另一件事,problen解决了