Php Json中的尾随null

Php Json中的尾随null,php,json,datatable,Php,Json,Datatable,我正在使用DataTable中的ajax方法来填充表。 下面是代码 $(function(){ $('#datatable-default').DataTable({ "ajax": 'data.php' }); }) 我的data.php如下所示: $jsons = '{"data": [ [ "Tiger Nixon", "

我正在使用
DataTable
中的
ajax
方法来填充表。 下面是代码

$(function(){
        $('#datatable-default').DataTable({
            "ajax": 'data.php'
        });
    })
我的
data.php
如下所示:

$jsons = '{"data": [
                [
                  "Tiger Nixon",
                  "System Architect",
                  "Edinburgh",
                  "5421",
                  "2011/04/25",
                  "$320,800"
                ]
            ]
        }';
        echo $jsons;
加载
数据表
时,会出现以下错误:

DataTables warning: table id=datatable-default - Invalid JSON response. For more information about this error, please see http://datatables.net/tn/1
在浏览器中检查开发人员工具中的元素时,我看到响应的后缀是一个
null
,这将停止数据填充。 以下是来自浏览器的响应:

 {"data": [[ "Tiger Nixon", "System Architect", 
"Edinburgh", "5421", "2011/04/25", "$320,800"]]}
null

响应中出现此
null
值的原因是什么?

您不应手动创建JSON对象,而应使用
JSON\u encode()函数:

$data = [
  "data"=>[
     "Tiger Nixon",
     "System Architect",
     "Edinburgh",
     "5421",
     "2011/04/25",
     "$320,800"
    ]
  ];

echo json_encode($data);
// Since you are not looking forward to receiving anything else, you might just kill the script
die();

不确定这是否会改变任何内容,但请尝试返回而不是在数据中回显。phpon返回而不是回显时,只会给出
null
值。@brianforan这不起作用。如果你
返回
某个东西,它必须去某个地方。类似于调用函数的变量,该函数将结果作为值返回给变量。在本例中,通过使用
return
,它无处可去。echo`是文件的最后一行吗?似乎有点奇怪-回显@user3284463的问题,尝试添加
exit()
直接在您
echo
json.Correct的行之后。只需使用该语言提供的工具:)即使这样也有同样的问题
null
在响应后的前面。@abbas-Hmm,如果在echo语句后文件中没有您想要的其他内容,您可以在echo语句后使用
die()
杀死它