如何检查javascript对象是否为空?
我有类似这样的JSON,其中每个键都有一些值,但在对象内的另一个对象中只有一个处方,所以如果一个处方是空对象,那么我如何检查处方是否为空如何检查javascript对象是否为空?,javascript,json,Javascript,Json,我有类似这样的JSON,其中每个键都有一些值,但在对象内的另一个对象中只有一个处方,所以如果一个处方是空对象,那么我如何检查处方是否为空 var obj={ "index":"1", "Product_Id":"124", "Name":"Vincent 1", "Unit_Price":"1", "Base_Price":5, "Gross_Price":200, "Quantity":200, "Net_Price":200, "Ta
var obj={
"index":"1",
"Product_Id":"124",
"Name":"Vincent 1",
"Unit_Price":"1",
"Base_Price":5,
"Gross_Price":200,
"Quantity":200,
"Net_Price":200,
"Tax":200,
"Tax_Rate":200,
"prescription":{
}
}
如果您的对象名为
obj
,这将给出您想要的结果
Object.getOwnPropertyNames(obj.prescription).length>0
您可以执行Object.keys(obj.prescription).length来检查对象是否包含任何键。
当然,对于空的obect,正如您的示例中所示,not null您所问的问题没有任何意义,因为处方不是空的,并且永远不会出现在本示例中。它只是一个空对象。空对象和null不是一回事
您也不想简单地检查length==0,因为它在实际为true时可能返回false
Object.keys(obj.prescription).length === 0 && obj.constructor === Object;
将提供您想要的。如何使用json对象?我的意思是你用什么来解析json对象?例如,在javascript中,可以使用以下代码:
function isEmpty(object) {
for(var key in object) {
if(obj.hasOwnProperty(key))
return false;
}
return true;
}
你的意思是像如果(object.prescription==null)
?正如你所说,prescription是一个空对象,而不是null
,如果你想检查空或不空,你可以通过:object.entries(obj).length==0&&obj.constructor==object
来完成,如果你想检查空/未定义,你可以做(object.prescription){}
.object.prescription不是空的。它是空的。空和空不是一回事。您的检查将始终返回false。您应该始终另外检查obj.constructor==object,因为如果您执行类似于obj.prescription(new Date())的操作,则长度仍然==0。