检查空对 ajax json 数据不起作用



>我正在从ajax调用中获取数据,例如

[{"_id":{"$oid":"5bd00e99d2ccda119c0032da"},"AllotmentsDetails":null}]

我正在比较它的空值,例如

var allotmentDetailsArray = data[0]['AllotmentsDetails'];
if (allotmentDetailsArray.length == 0 || allotmentDetailsArray == null)
{
////
}

如果条件...请帮忙!!

在尝试访问object之前,您必须检查null,在您的if块中,您正在尝试在null对象上调用.length

你可以这样做:

if (!allotmentDetailsArray || allotmentDetailsArray.length == 0)
{
////
}

其中!allotmentDetailsArrayallotmentDetailsArray == null的缩短表达式,用于检查allotmentDetailsArrayundefined还是null

所以这里只有当allotmentDetailsArrayifnull时才检查块的第二部分。

你必须先检查空,然后检查长度

if (allotmentDetailsArray == null || allotmentDetailsArray.length == 0)
{
////
}

不能检查空值的长度。但是,您可以使用此代码检查空值和数组长度。

if (!allotmentDetailsArray) {
// null check here. you cannot check array length here since it's a null value
} else {
// if you want to check array length 
if (allotmentDetailsArray.length === 0 ) {
// check here
}
}

首先,您必须检查 null 或不 null。 如果它不是 null 表示,则检查长度。

请尝试一下。

//Ex:1
var data= [{"_id":{"$oid":"5bd00e99d2ccda119c0032da"},"AllotmentsDetails":null}];
var allotmentDetailsArray = data[0]['AllotmentsDetails'];
if (allotmentDetailsArray == null)
{
alert(allotmentDetailsArray);
}
else if(allotmentDetailsArray.length == 0)
{
alert(allotmentDetailsArray.length);
}
//or
if (allotmentDetailsArray == null ||allotmentDetailsArray.length == 0 )
{
alert(allotmentDetailsArray);
}
//Ex:2
var data= [{"_id":{"$oid":"5bd00e99d2ccda119c0032da"},"AllotmentsDetails":""}];
allotmentDetailsArray = data[0]['AllotmentsDetails'];
if (allotmentDetailsArray == null)
{
alert(allotmentDetailsArray);
}
else if(allotmentDetailsArray.length == 0)
{
alert(allotmentDetailsArray.length);
}

您可以检查类型:

var allotmentDetailsArray = data[0]['AllotmentsDetails'];
if (typeof allotmentDetailsArray !== "undefined")
{
// Var is not null
}

相关内容

  • 没有找到相关文章

最新更新