检查json数据数组是否为空

时间:2017-11-09 07:32:20

标签: javascript php jquery json ajax

这是我的ajax代码,我需要检查json数据是否有数组? 我怎么能够? 我试过这个,但它却向我显示错误的输出。

$.ajax({
        url: url,
        type: 'POST',
        data: {'data': data},
        dataType: "json",
        success: function (data) {
          if(data)
          {
            console.log('data is there');
          }
          else
          {
            console.log('data is not there'); 
          }

这是我给予回复ajax的回应。

<?php
$json_data_array = '[]';
return $json_data_array;
?>

我该怎么检查?

6 个答案:

答案 0 :(得分:2)

你需要查看它的长度。条件if(array)中的数组在没有项目时为真。

&#13;
&#13;
if([]) {
    console.log('True');
}
&#13;
&#13;
&#13;

检查length属性

&#13;
&#13;
if([].length) {
   console.log('True');
}
&#13;
&#13;
&#13;

答案 1 :(得分:1)

您可以使用以下方法进行检查:

if( Object.prototype.toString.call( your_variable ) === '[object Array]' ) {
    alert( 'Array' );
}else{
    alert('Not Array');
}

答案 2 :(得分:0)

使用和回显json_encode($ json_data_array);

构建一个普通数组,然后将其转换为json,这将更容易

<?php
$json_data_array = array();
echo json_encode($json_data_array);
?>

在你的jquery中使用

if($.isEmptyObject(data))

答案 3 :(得分:0)

在javascript中,您可以检查长度

  var size= myarray.length;
    if(size>=1) 
    {
       alert("not empty");
    }
    else
    {
        alert("empty");
    }

在php中,您可以使用以下方法检查

if(!empty($myarray))
{
    echo "Not Empty";
}
else
{
    echo "Empty";
}

答案 4 :(得分:0)

首先你需要json编码你的返回值,就像这样

<?php
$json_data_array = '[]';
return json_encode($json_data_array);
?>

然后你必须在javascript这边检查返回数组的长度

if(data.length > 0){
  console.log('data is there');
}else{
  console.log('data is not there'); 
}

答案 5 :(得分:-1)

在javascript中,空数组([])返回true。你应该检查array.length